Elixir Tesla: автентифікація проксі з адаптером Mint
Додайте заголовок Basic до параметрів з’єднання адаптера Mint, щоб він міг іти з CONNECT до запиту до цільової служби.
basic = "Basic " <> Base.encode64(proxy_user <> ":" <> proxy_password)
client = Tesla.client([], {Tesla.Adapter.Mint, [
proxy: {:http, "proxy.example", 8080, []},
proxy_headers: [{"proxy-authorization", basic}]
]})Використовуйте цей клієнт Tesla для потрібних операцій застосунку. Їхні URL і далі вказують на цільові служби; proxy_user і proxy_password позначають обліковий запис посередника.
Mint застосовує proxy_headers до CONNECT для тунельного проксі або об’єднує ці заголовки із запитами в режимі пересилання. Звичайне middleware Tesla для заголовків цільової служби не є цими даними попереднього етапу з’єднання.
Приклад використовує Basic. Base64 — це подання, а не шифрування; захист залежить від транспорту з’єднання з проксі.
Ці параметри належать адаптеру Mint. Заміна на Finch, Hackney чи інший адаптер потребує його інтерфейсу, а Authorization цільової служби залишається іншим обміном автентифікацією.