伟大的奥秘。我有一个在OS X El Capitan上运行的Express / Node(v4.2.2)JS应用。该应用程序在端口4444上运行。如果运行该应用程序,则可以使用以下命令获得正确的响应:

curl localhost:4444->作品

curl [::1]:4444->作品

curl api.q.com:4444->作品

但是,我有一个问题:

curl 127.0.0.1:4444->不起作用;回应curl: (52) Empty reply from server

127.0.0.1:4444在所有浏览器中也会失败。更令人惊讶的是,api.q.com:4444在Chrome浏览器以外的所有浏览器中均可使用。

我的/etc/hosts文件:

127.0.0.1 localhost web.q.com api.q.com qrm.q.com fhr.q.com

::1 localhost

fe80::1%lo0 localhost


我尝试将/etc/hosts文件重置为默认值,并刷新了DNS缓存。我感觉它可能是应用程序,但是我不确定原因是什么。有什么建议么?

最佳答案

事实证明,这与我在Virtual Box中设置的Linux VM有关。我的/etc/hosts文件在该VM上是相同的(也许是问题所在?)。

我禁用了虚拟机,一切再次正常。我不知道是什么原因,但是我要结束这个问题。如果其他人遇到此问题,我只能建议您查看您可能在本地运行的任何VM。再次感谢!

关于node.js - Localhost,[:: 1]和etc/hosts中的映射主机可以工作,但是127.0.0.1不能工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36134316/

10-09 20:44