curl не удалось подключиться к порту localhost 80

Мои хосты карты файлов 127.0.0.1 to localhost.

$ curl -I 'localhost'
curl: (7) Failed to connect to localhost port 80: Connection refused

а то

$ curl -I 127.0.0.1
HTTP/1.1 200 OK
Server: nginx/1.2.4
Date: Wed, 09 Apr 2014 04:20:47 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 23 Oct 2012 21:48:34 GMT
Connection: keep-alive
Accept-Ranges: bytes

в моем файле hosts у меня есть

127.0.0.1   localhost

получается, что curl команда не распознает записи в /etc/hosts. Может кто-нибудь объяснить, почему?

обновление: я еще не пробовал это, но я discoved вы можете настроить nginx для ответа на ipv4 и ipv6

4 ответов


Так как у вас есть ::1 localhost строка в файле hosts, похоже, что curl пытается Использовать IPv6 для контакта с локальным веб-сервером.

поскольку веб-сервер не прослушивает IPv6, соединение не выполняется.

вы можете попробовать использовать до curl, который должен заставить соединение IPv4, когда оба доступны.


Если кто-то еще сталкивается с этим, и принятый ответ не работает (это не для меня), проверьте, нужно ли указывать порт, отличный от 80. В моем случае я запускал сервер rails в localhost:3000 и просто используя curl http://localhost, который попал в порт 80.

изменить команду curl http://localhost:3000 это то, что сработало в моем случае.


У меня также была проблема с отказанным соединением на порту 80. Я не использовал localhost.

curl --data-binary "@/textfile.txt" "http://www.myserver.com/123.php"

проблема была в том, что у меня были umlauts äåö в моем текстовом файле.формат txt.


в моем случае, файл ~/.curlrc неправильно настроил прокси-сервер.