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에 적용하고, 전달 모드에서는 이 헤더들을 요청에 합칩니다. 대상 요청 헤더를 처리하는 일반 Tesla 미들웨어는 그보다 앞선 연결 단계의 이 입력과 다릅니다.

예제는 Basic을 사용합니다. Base64는 표현 형식이며 암호화가 아닙니다. 보호 여부는 프록시 연결의 전송 방식에 달려 있습니다.

이 옵션들은 Mint 어댑터에 설정하세요. Finch, Hackney 또는 다른 어댑터로 바꾸면 해당 인터페이스를 사용해야 하며, 대상의 Authorization는 여전히 별도의 인증 교환에 속합니다.

관련 글