伟大的奥秘。我有一个在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/