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 цільової служби залишається іншим обміном автентифікацією.

Схожі статті