我正在使用Nodejs& Expressjs。
当我尝试通过http://www.localhost:3000/访问我的应用时,应用加载就好了。但如果我尝试任何其他环回IP(127.0.0.1 /我的PC名称/我的PC IP),我得到:
请求网址:http://127.0.0.1:3000/请求方法:GET状态代码:301 永久移动
然后:
获取http://www.127.0.0.1:3000/ net :: ERR_NAME_NOT_RESOLVED
我正在使用Windows 7.
我经过大量的网络搜索后尝试过:
编辑主机文件,添加:
127.0.0.1 localhost
:: 1 localhost
禁用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),一切都很好。 (localhost,127.0.0.1等通过端口80)
答案 0 :(得分:0)
尝试将localhost替换为0.0.0.0
答案 1 :(得分:0)
从ip地址中删除www,它应该有效。
答案 2 :(得分:0)
问题在于我已将无www的重定向添加到www,其中包含以下几行:
// non-www to www redirect
app.get('/*', function (req, res, next) {
if (req.headers.host.match(/^www/) === null) {
res.redirect(301, 'http://www.' + req.headers.host + req.url);
} else {
next();
}
});
它也影响了127.0.0.1,删除它进行开发修复了问题。