我的hosts文件将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中的条目.有人可以解释原因吗?
更新:我还没试过这个,但我发现你可以配置nginx to respond to ipv4 and ipv6
解决方法:
由于您的hosts文件中有一个:: 1 localhost行,因此curl似乎正在尝试使用IPv6来联系您的本地Web服务器.
由于Web服务器未侦听IPv6,因此连接失败.
您可以尝试使用–ipv4选项进行curl,这应该在两者都可用时强制使用IPv4连接.