【发布时间】:2017-06-30 12:58:17
【问题描述】:
我正在使用 Nodejs 和 Expressjs。
当我尝试通过http://www.localhost:3000/ 访问我的应用程序时,应用程序加载正常。但如果我尝试任何其他环回 IP(127.0.0.1/我的 PC 名称/我的 PC IP),我会得到:
请求地址:http://127.0.0.1:3000/ 请求方法:GET 状态码:301 永久移动
然后:
GET http://www.127.0.0.1:3000/net::ERR_NAME_NOT_RESOLVED
我使用的是 Windows 7。
经过大量网络搜索后我尝试了什么:
-
编辑hosts文件,添加:
127.0.0.1 本地主机
::1 本地主机
禁用 windows 防火墙
-
明确告诉 express 监听所有 IP:(带或不带 '0.0.0.0')
app.listen(3000, "0.0.0.0", function() { console.log("listen on 3000"); }); 不同的端口(8080、8081等)
http:// 不带任何其他变体。
此外,如果我为它的实例运行 Wamp 服务器(例如访问 phpmyadmin),一切都很好。 (本地主机、127.0.0.1 等通过 80 端口)
【问题讨论】:
-
为什么 www 在 127.0.0.1 前面?你不需要它
-
www 绝对是错误的尝试
http://127.0.0.1:3000,它可以在没有空格的情况下工作。 if not 检查是否允许跨站点请求 -
chrome 可能会自动添加,我尝试访问 http://127.0.0.1:3000
-
@mtizziani 当然没有空格。我运行 chrome 并获得了跨域权限(否则 localhost 也无法正常工作)
-
我已经编辑了我的问题并纠正了我得到的流程,找到了问题,tnx!
标签: javascript node.js express windows-7