basic = "Basic " <> Base.encode64(proxy_user <> ":" <> proxy_password)

client = Tesla.client([], {Tesla.Adapter.Mint, [
  proxy: {:http, "proxy.example", 8080, []},
  proxy_headers: [{"proxy-authorization", basic}]
]})

Usa este cliente Tesla para las operaciones previstas de la aplicación. Sus URL siguen apuntando a los servicios de destino; proxy_user y proxy_password identifican la cuenta del intermediario.

Mint aplica proxy_headers a CONNECT en un proxy de túnel o combina esas cabeceras con las solicitudes en modo de reenvío. Un middleware genérico de Tesla para cabeceras de destino no equivale a esa entrada de conexión previa.

El ejemplo usa Basic. Base64 es una representación, no un cifrado; la protección depende del transporte de la conexión al proxy.

Mantén estas opciones en el adaptador Mint. Cambiar a Finch, Hackney u otro adaptador exige usar su interfaz, y la cabecera Authorization del destino sigue siendo otro intercambio de autenticación.

Artículos relacionados