宿主的文件将127.0.0.1
Map为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
7条答案
按热度按时间daolsyd01#
由于主机文件中有一行
::1 localhost
,因此curl似乎正在尝试使用IPv6来联系本地Web服务器。由于Web服务器未侦听IPv6,因此连接失败。
您可以尝试使用
curl
的--ipv4
选项,这应该会在两者都可用时强制建立IPv4连接。km0tfn4u2#
如果其他人遇到这种情况,并且接受的答案不起作用(对我来说不起作用),请检查是否需要指定80以外的端口。在我的情况下,我在
localhost:3000
上运行一个rails服务器,并且只是使用curl http://localhost
,这就命中了端口80。将命令更改为
curl http://localhost:3000
在我的案例中是有效的。vngu2lb83#
在我的例子中,文件~/.curlrc配置了一个错误的代理。
nkcskrwz4#
我还遇到了端口80上被拒绝连接的问题。我没有使用localhost。
问题是我的textfile.txt文件中有变音。
wr98u20j5#
我以前在我的负载平衡器服务器上遇到过同样的错误。我使用两台服务器和一个负载平衡器。在我的两台服务器上,我运行的是
NginX
,但在负载平衡器上,我运行的是Haproxy
。我发现不小心在LB上安装了Nginx
。解决方案:然后再次运行命令
curl -I localhost
wlp8pajw6#
在我的例子中,当我在nginx.conf中添加以下内容时,问题就解决了:resolver,events,root和upstream(可能对某些人有用).我的nginx.conf(在我修复了错误之后):
我的Dock合成文件:
pxyaymoc7#
有时候你需要确保网络服务器正在运行。在我的例子中,我在停止nginx网络服务器后忘记了启动它。
要在关闭时启动:
注意:如果您使用的是apache2,请将nginx替换为apache2