Подтвердить что ты не робот

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

Мои файлы файлов hosts 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. Может кто-нибудь объяснить, почему?

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

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

Ответ 3

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

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

Проблема заключалась в том, что в моем файле textfile.txt уменулось äåö.

Ответ 4

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