1

Я использую 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", ...

Почему при указании прокси-сервера с использованием параметра командной строки различается поведение по сравнению с указанием прокси-сервера в среде? Это ошибка или я что-то упустил?

0