Как выполнить аутентификацию при подключении к прокси-серверу внутри Docker-контейнера на базе Ubuntu?

Как выполнить аутентификацию при подключении к прокси-серверу внутри Docker-контейнера на базе Ubuntu?

Я создаю контейнер docker, который должен использовать прокси-сервер при отправке HTTP-запросов. К сожалению, я не могу заставить его работать - я не могу аутентифицироваться на прокси-сервере изнутри контейнера, хотя учетные данные верны.

Ожидаемый результат curl https://api.myip.comвозвращает ответ JSON с IP-адресом прокси-сервера.

Фактический результат: curl https://api.myip.comвозвратcurl: (56) Received HTTP code 407 from proxy after CONNECT

Что я пробовал:

  • настройка переменных окружения HTTP_PROXY (то же самое для окружения HTTPS)
  • добавление строки «Acquire::http::Proxy» в /etc/apt/apt.conf (то же самое для https)
  • пробовал разные конфигурации (только ENV, только файл apt.conf, обе)

Что я проверил:

  • /etc/apt/apt.conf содержит нужные строки (приведены ниже)
  • Внутри контейнера ENV установлены правильно
  • прокси работает корректно вне контейнера
  • Прокси-аутентификация работает корректно (авторизация прошла успешно) через браузер, запущенный извне контейнера
  • сетевое взаимодействие Docker работает нормально (без использования прокси-сервера проблем)

мой 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>/";

мой 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"]

Версия Docker: Docker version 20.10.8, build 3967b7d

Связанный контент