Я использую curl
для доступа к некоторым веб-сервисам через прокси (экземпляр polipo
работающий на порте 8123, связанный с прокси-сервером ssh SOCKS5
). Если я предоставляю информацию о прокси с помощью переменной среды http_proxy
, она отлично работает для запросов с именами хостов:
$ http_proxy=http://localhost:8123 curl http://overcloud-public-vip:5000/v2.0
{"version": {"status": "stable", "updated": "2014-04-17T00:00:00Z", ...
Имя overcloud-public-vip
не разрешается локально, но может быть разрешено удаленным прокси-сервером до 192.168.30.6. Если я попытаюсь использовать IP-адрес целевого хоста вместо имени хоста, произойдет сбой:
$ http_proxy=http://localhost:8123 curl http://192.168.30.6:5000/v2.0/
С другой стороны, тот же URL-адрес прекрасно работает, если я использую параметр командной строки -x
вместо переменной окружения:
$ curl -x http://localhost:8123 http://192.168.30.6:5000/v2.0/
{"version": {"status": "stable", "updated": "2014-04-17T00:00:00Z", ...
Почему при указании прокси-сервера с использованием параметра командной строки различается поведение по сравнению с указанием прокси-сервера в среде? Это ошибка или я что-то упустил?