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

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

Dùng client Tesla này cho các thao tác mà ứng dụng cần thực hiện. URL của chúng vẫn là đích của các dịch vụ; proxy_user và proxy_password chỉ tài khoản ở bên trung gian.

Mint áp dụng proxy_headers cho CONNECT với proxy đường hầm, hoặc gộp các header này vào yêu cầu trong chế độ chuyển tiếp. Middleware Tesla thông thường cho header của đích không phải đầu vào của bước kết nối diễn ra sớm hơn này.

Ví dụ dùng Basic. Base64 là cách biểu diễn, không phải mã hóa bảo mật; khả năng bảo vệ phụ thuộc vào lớp truyền tải của kết nối proxy.

Giữ các tùy chọn này với adapter Mint. Chuyển sang Finch, Hackney hoặc adapter khác đòi hỏi dùng giao diện riêng của nó, còn Authorization của đích vẫn là một trao đổi xác thực khác.

Bài viết liên quan