curl无法连接到本地主机端口80

curl无法连接到本地主机端口80,curl,nginx,Curl,Nginx,我的主机文件将127.0.0.1映射到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-Le

我的主机文件将
127.0.0.1
映射到
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
在我的主机文件中,我有

127.0.0.1   localhost
似乎
curl
命令无法识别
/etc/hosts
中的条目。有人能解释一下原因吗


更新:我尚未尝试此操作,但我发现您可以配置

,因为您的主机文件中有一行
::1 localhost
,似乎curl正在尝试使用IPv6联系您的本地web服务器

由于web服务器未侦听IPv6,因此连接失败


您可以尝试使用
--ipv4
选项来
curl
,这将在两者都可用时强制ipv4连接。

如果其他人遇到此问题并且接受的答案不起作用(对我来说不起作用),请检查是否需要指定80以外的端口。在我的例子中,我在
localhost:3000运行一个rails服务器,并且只使用
curlhttp://localhost
,它正在命中端口80


将命令更改为
curlhttp://localhost:3000
在我的情况下起作用。

我在端口80上也遇到了连接被拒绝的问题。我没有使用localhost

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

问题是我的textfile.txt中有umlautsååö

在我的例子中,~/.curlrc文件配置了错误的代理

您也有
::1 localhost
吗?是的,我有
::1 localhost
如果您有多个localhost行,在这种情况下,它可能使用了您不期望的一行(即::1)在执行bin/generate-example-metrics脚本以发布到IMPLINE的PIVOT接口时,这也对我起到了作用。我遇到了同样的问题,当它通过添加ipv4标志起作用时,另一件对我起作用的事情是从
/etc/hosts
上帝中删除::1!!!!你们帮我省了很多时间来解决这个问题。非常感谢你!!!!非常感谢你!!我可以解决docker的健康检查问题。