2017-02-12 95 views
0

我正在使用Nodejs & Expressjs。无法访问127.0.0.1或任何其他IP,本地主机工作

当我尝试通过http://www.localhost:3000/访问我的应用程序时,该应用程序加载得很好。但如果我尝试任何其他环回IP(127.0.0.1 /我的电脑名称/我的电脑IP)我得到:

请求URL:http://127.0.0.1:3000/请求方法:GET状态代码:301 永久移动

然后:

GET http://www.127.0.0.1:3000/网:: ERR_NAME_NOT_RESOLVED

我使用Windows 7

我已经有很多网络搜索后,试了一下:

  1. 编辑hosts文件,加入:

    127.0.0.1本地主机

    : :1 localhost

  2. Disable windows firewall

  3. 明确地告诉快递听所有IP:(有或无 '0.0.0.0')

    app.listen(3000, "0.0.0.0", function() { 
        console.log("listen on 3000"); 
    }); 
    
  4. 不同的端口(8080,8081,等等。)

  5. 以http://或无任何其他变化。

此外,如果我运行Wamp服务器的实例(例如访问phpmyadmin),一切都很好。 (本地主机,127.0.0.1等通过端口80)

+0

为什么www前面的127.0.0.1?你不需要它 – Deep

+0

www是definitly false尝试''http://127.0.0.1:3000'',它将无空格工作。如果不检查是否允许跨站请求 – mtizziani

+0

铬可能会自动添加,我试图访问http:// 127.0.0.1:3000 – jony89

回答

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为好,发展删除它解决了这一问题。

0

尝试从IP地址0.0.0.0通过

+0

究竟在哪里?尝试在hosts文件/ url本身 – jony89

0

删除WWW替换本地主机,它应该工作。

+0

我编辑了我的问题,chrome自动添加了www(可能是因为它可以在没有它的情况下访问),但我试图在没有它的情况下访问。 – jony89

相关问题