Dan*_*ack 4 node.js vagrant macos
我正在使用 Vagrant 托管在 OSX 上的 Centos VM,但似乎无法连接到在来宾 Centos 机器上运行的 Node.js。
我已经安装了 Nginx 和 Node.js,并且已经将端口从主机转发到来宾。
config.vm.network :forwarded_port, guest: 8080, host: 8080
config.vm.network :forwarded_port, guest: 8124, host: 8124
Run Code Online (Sandbox Code Playgroud)
启动 Node.js 后,我可以通过“wget 127.0.0.1:8124”在虚拟机中本地访问它,但是从不起作用的主机访问。
我可以毫无问题地从主机访问端口 8080 上的 Nginx 实例。虽然我计划在端口 8124 上运行 Node.js,但停止 Nginx 然后在端口 8080 上运行 Node.js(这肯定会被转发到 Centos VM)仍然不起作用。
我已经停止了 Iptables 服务,所以不要认为这会阻止任何请求。
当 Node.js 在 Centos 来宾 VM 中运行时,我需要做什么才能让 Node.js 接受来自主机的请求?
我正在运行的 Node 脚本是https://github.com/guzzle/guzzle/blob/master/tests/Guzzle/Tests/Http/server.js但是我认为这不相关,因为请求正在到达节点服务器。
https://github.com/guzzle/guzzle/blob/master/tests/Guzzle/Tests/Http/server.js#L132
请参阅第 132 行。您的应用程序仅绑定到环回接口。快速的 netstat 应该可以确认这一点。
$ sudo netstat -ltpn | grep 8124
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:8142 0.0.0.0:* LISTEN node
Run Code Online (Sandbox Code Playgroud)
上面命令的输出应该显示端口 8142 上的节点进程绑定到 0.0.0.0 而不是 127.0.0.1
归档时间: |
|
查看次数: |
2882 次 |
最近记录: |