Como autenticar ao conectar-se a um servidor proxy dentro do contêiner docker baseado no Ubuntu?

Como autenticar ao conectar-se a um servidor proxy dentro do contêiner docker baseado no Ubuntu?

Estou construindo um contêiner docker que deve usar um servidor proxy ao enviar solicitações HTTP. Infelizmente não consigo fazer funcionar - não consigo autenticar no proxy de dentro do contêiner, mesmo que as credenciais estejam corretas.

O resultado esperado curl https://api.myip.comretorna resposta JSON com IP do proxy

Resultado real: curl https://api.myip.comretornoscurl: (56) Received HTTP code 407 from proxy after CONNECT

O que eu tentei:

  • definindo variáveis ​​de ambiente HTTP_PROXY (o mesmo para ambiente HTTPS)
  • adicionando a string "Acquire::http::Proxy" a /etc/apt/apt.conf (o mesmo para https)
  • tentei configurações diferentes (apenas ENV, apenas arquivo apt.conf, ambos)

O que eu verifiquei:

  • /etc/apt/apt.conf contém as linhas desejadas (fornecidas abaixo)
  • ENVs estão configurados corretamente dentro do contêiner
  • proxy está funcionando corretamente fora do contêiner
  • a autenticação de proxy funciona corretamente (autorização bem-sucedida) por meio do navegador executado de fora do contêiner
  • a rede docker funciona corretamente (sem problemas quando não estiver usando proxy)

meu apt.conf:

Acquire::http::Proxy "http://<my_login>:<my_pass>@<proxy_ip>:<proxy_port>/";
Acquire::https::Proxy "https://<my_login>:<my_pass>@<proxy_ip>:<proxy_port>/";
Acquire::socks::Proxy "socks://<my_login>:<my_pass>@<proxy_ip>:<proxy_port>/";

meu Dockerfile:

from ubuntu:latest

COPY ./rss/apt.conf /apt.conf
ENV HTTP_PROXY=<ip>:<port>
ENV HTTPS_PROXY=<ip>:<port>

RUN apt update && apt install -y curl
RUN cat /apt.conf >> /etc/apt/apt.conf

ENTRYPOINT ["sleep","1000"]

Versão Docker: Docker version 20.10.8, build 3967b7d

informação relacionada