curl Failed to connect to localhost port 80

匿名 (未验证) 提交于 2019-12-03 02:16:02

问题:

My hosts file maps 127.0.0.1 to localhost.

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

And then

$ 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 

In my hosts file I have

127.0.0.1   localhost 

It appears that curl command fails to recognize entries in /etc/hosts. Can someone explain why?

update: i've yet to try this but i've discoved you can configure nginx to respond to ipv4 and ipv6

回答1:

Since you have a ::1 localhost line in your hosts file, it would seem that curl is attempting to use IPv6 to contact your local web server.

Since the web server is not listening on IPv6, the connection fails.

You could try to use the --ipv4 option to curl, which should force an IPv4 connection when both are available.



回答2:

If anyone else comes across this and the accepted answer doesn't work (it didn't for me), check to see if you need to specify a port other than 80. In my case, I was running a rails server at localhost:3000 and was just using curl http://localhost, which was hitting port 80.

Changing the command to curl http://localhost:3000 is what worked in my case.



回答3:

I also had problem with refused connection on port 80. I didn't use localhost.

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



回答4:

In my case, the file ~/.curlrc had a wrong proxy configured.



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!