我在ubuntu中运行了一个nodejs项目。所以我这样访问它:
现在我正在尝试从我在虚拟机上运行的来宾windows7访问此服务器。
我的ubuntu IP是192.168.1.13而我的VM网络配置是桥接适配器所以我正在尝试
http://192.168.1.13:9000/login
但它不起作用
但是,当我在cmd中运行时,ping 192.168.1.13'它成功回复。
有人可以告诉我从访客那里访问我的服务器还需要做些什么吗?
答案 0 :(得分:1)
查看文件/ etc / hosts并检查localhost的映射方式。当然它设置为127.0.0.1。如果您使nodejs应用程序侦听IP:端口192.168.1.13:9000,您将能够连接。或者更改我不推荐的localhost的映射。
答案 1 :(得分:1)
对于您想要实现的目标,您的Node.js应用程序应该侦听可从其他系统访问的指定IP地址和端口。
您无法期望来自外部世界(OS)的用户访问在您系统的本地主机中运行的网络应用程序。
将您的代码更改为类似内容,以允许它在APP_PRIVATE_IP_ADDRESS
上侦听(替换您的IP,在这种情况下为192.168.1.13):
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
// your code
}).listen(8080, 'APP_PRIVATE_IP_ADDRESS');
console.log('Server running at http://APP_PRIVATE_IP_ADDRESS:8080/');
此外,为了进一步提高辅助功能,请检查How To Set Up a Node.js Application for Production on Ubuntu 14.04。