node.js - 本地主机、[::1] 和 etc/hosts 中的映射主机可以工作,但 127.0.0.1 不能

标签 node.js curl express networking localhost

伟大的谜团。我有一个在 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) 来自服务器的空回复

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 文件在该虚拟机上是相同的(也许这就是问题所在?)。

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

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

相关文章:

javascript - 为什么我得到的是 [object object ] 而不是 JSON?

windows - 在 Windows Server 2008 上安装 javascript 驱动程序 Mongodb-native

node.js - 没有 Passport.js 的 Google + 身份验证

php - 有没有办法执行这个 CURL 请求而不打印响应?

php - cURL 的 CA 公共(public)证书包

mysql - 联系 MySql 时 Node 连接错误?

node.js - Express 在 ubuntu 上不起作用

javascript - 从 MongoDB 驱动程序调用 getUsers() 函数

node.js - 如何使用 Node 通过摘要身份验证发布消息?

php - 收到cURL错误: Empty reply from server