Я выполняю curl, и независимо от того, на какой URL я его указываю, он всегда пытается подключиться к 127.0.0.1 и порту 8080:
$ curl -v http://asdfsafzsdfsdf/
* Trying 127.0.0.1...
* connect to 127.0.0.1 port 8080 failed: Connection refused
* Failed to connect to localhost port 8080: Connection refused
* Closing connection 0
curl: (7) Failed to connect to localhost port 8080: Connection refused
В приведенном выше примере я использую несуществующий домен asdfsafzsdfsdf, но то же самое происходит с существующими доменами, такими как google.com.
Но если я укажу на URL-адрес SSL, например https://google.com, он разрешает и выполняет запрос ОК. Кроме того, если я укажу на https: // asfasdfasdfdasfd, он пытается разрешить его и терпит неудачу (без странного разрешения 127.0.0.1:8080):
$ curl -v https://asdfsadfsafsdf
* Rebuilt URL to: https://asdfsadfsafsdf/
* Could not resolve host: asdfsadfsafsdf
* Closing connection 0
curl: (6) Could not resolve host: asdfsadfsafsdf
Это наводит меня на мысль, что, возможно, "какая-то" форма вмешательства не может произойти при создании SSL-соединений (возможно, они не могут быть кэшированы тем, что вызывает это, или что-то еще).
Если я запускаю «host asdfsadfsadf» или «dig asdfasfsafa», он терпит неудачу, как и следовало ожидать. Но wget ведет себя так же, как curl (я знаю, что они разрешают DNS по-разному, так что, возможно, это ключ к разгадке).
Я исследую это уже несколько часов. У меня нет записей в / etc / hosts, у меня нет DNS-кеша, я проверил /etc/nsswitch.conf и у меня просто есть разрешение "files, dns", у меня нет специального конфигурации iptables и т. д.
Что еще более важно, если отбросить часть проблемы с DNS ... почему порт 8080?
Это очень странно, почему это могло происходить? Любые идеи?
Я использую Ubuntu 16.04.
Спасибо!
Похоже, у вас есть прокси-сервер, определенный в вашей среде, например в http_proxy
переменная окружения.
Проверьте среду оболочки и удалите переменную из того сценария запуска оболочки, который определяет ее, или запустите прокси-сервер.
В качестве альтернативы вы можете попросить curl игнорировать переменную среды прокси, передав -x ""
.
curl -x "" https://www.google.com/