Я создаю контейнер докеров, который должен использовать прокси-сервер при отправке HTTP-запросов. К сожалению, я не могу заставить его работать — я не могу аутентифицироваться на прокси-сервере внутри контейнера, хотя учетные данные верны.
Ожидаемый результат
завиток https://api.myip.com возвращает ответ JSON с IP-адресом прокси
Фактический результат:
завиток https://api.myip.com возвращается curl: (56) Получен HTTP-код 407 от прокси после CONNECT
Что я пробовал:
- установка переменных окружения HTTP_PROXY (то же самое для окружения HTTPS)
- добавление строки «Acquire::http::Proxy» в /etc/apt/apt.conf (то же самое для https)
- пробовал разные конфигурации (только ENV, только файл apt.conf, обе)
Что я проверил:
- /etc/apt/apt.conf содержит нужные строки (приведены ниже)
- ENV установлены правильно внутри контейнера
- прокси корректно работает вне контейнера
- прокси-аутентификация работает корректно (авторизация прошла успешно) через запуск браузера из-за пределов контейнера
- сеть докеров работает правильно (без проблем, если не используется прокси)
мой apt.conf:
Acquire::http::Proxy "http://<мой_логин>:<мой_пароль>@<прокси_ip>:<прокси_порт>/";
Acquire::https::Proxy "https://<мой_логин>:<мой_пароль>@<прокси_ip>:<прокси_порт>/";
Acquire::socks::Proxy "socks://<мой_логин>:<мой_пароль>@<прокси_ip>:<прокси_порт>/";
мой докерфайл:
из убунту: последняя
КОПИРОВАТЬ ./rss/apt.conf /apt.conf
ENV HTTP_PROXY=<ip>:<порт>
ENV HTTPS_PROXY=<ip>:<порт>
RUN apt update && apt install -y curl
ВЫПОЛНИТЬ cat /apt.conf >> /etc/apt/apt.conf
ENTRYPOINT ["сон", "1000"]
Версия докера:
Докер версии 20.10.8, сборка 3967b7d