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.com
retorna resposta JSON com IP do proxy
Resultado real:
curl https://api.myip.com
retornoscurl: (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