从 virtualbox 中的来宾访问 ubuntu 主机上的服务器 运行
Access server running on ubuntu host from guest in virtualbox
我在 ubuntu 中有一个 nodejs 项目 运行ning。所以我这样访问它:
现在我正尝试从我 运行 在虚拟机上 windows7 来宾访问此服务器。
我的 ubuntu IP 是 192.168.1.13,我的 VM 网络配置是桥接适配器,所以我正在尝试
http://192.168.1.13:9000/login
但是不行
但是,当我运行在cmd 'ping 192.168.1.13'中回复成功。
有人能告诉我还需要做什么才能从访客访问我的服务器吗?
查看文件 /etc/hosts 并检查 localhost 是如何映射的。当然它被设置为 127.0.0.1 。如果你让你的 nodejs 应用程序监听 IP:port 192.168.1.13:9000 你将能够连接。或者更改我不推荐的本地主机的映射。
对于您想要实现的目标,您的 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。
我在 ubuntu 中有一个 nodejs 项目 运行ning。所以我这样访问它:
现在我正尝试从我 运行 在虚拟机上 windows7 来宾访问此服务器。
我的 ubuntu IP 是 192.168.1.13,我的 VM 网络配置是桥接适配器,所以我正在尝试
http://192.168.1.13:9000/login
但是不行
但是,当我运行在cmd 'ping 192.168.1.13'中回复成功。
有人能告诉我还需要做什么才能从访客访问我的服务器吗?
查看文件 /etc/hosts 并检查 localhost 是如何映射的。当然它被设置为 127.0.0.1 。如果你让你的 nodejs 应用程序监听 IP:port 192.168.1.13:9000 你将能够连接。或者更改我不推荐的本地主机的映射。
对于您想要实现的目标,您的 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。