编辑:我以前也遇到过这种情况,但当时是与 Apache 有关,但这次我使用的是NodeJS,所以旧答案没有帮助。
我在 Windows 7 上运行apache NodeJS 网络服务器(在端口 80 上)。我想通过我的手机访问网络服务器,该手机在本地与我的电脑共享 wifi 路由器。
http://localhost
通过 PC 进行操作。
但我无法http://192.168.1.4
通过手机甚至电脑访问。
ipconfig /all
我的电脑上显示的 IP 地址是 192.168.1.4
Wireless LAN adapter Wireless Network Connection:
IPv4 Address. . . . . . . . . . . : 192.168.1.4(Preferred)
我可以从 PC ping 我手机的(内部)IP 地址 [192.168.1.5],反之亦然,我可以从我的手机 ping 我的 PC [192.168.1.4]。
那么为什么我无法http://192.168.1.4
通过手机访问?(或电脑)
防火墙已关闭。
答案1
我在监听服务器时指定了一个主机名。
服务器.监听(80,process.env.OPENSHIFT_NODEJS_IP || process.env.IP || '127.0.0.1')
答案2
需要添加
Listen 192.168.1.4:80
在 Apache 的 httpd.conf 中
答案3
此代码为我解决了这个问题(在我的情况下使用 localhost 添加本地 IP:192.168.1.7)
var app = express();
app.listen(3000,'192.168.1.7' || 'localhost',function() {
console.log('Application worker ' + process.pid + ' started...');
}
);
因此您可以从http://本地主机:3000或者http://192.168.1.7:3000(我的本地IP是192.168.1.7)