【发布时间】:2015-04-26 01:40:52
【问题描述】:
我在 Macos 10.10.2 上以 Ubuntu 14.04 服务器作为访客运行 Vagrant。在ubuntu系统上,我安装了rails 4.2.0(ruby 2.1.5)。
问题是我无法从主机访问 rails web 服务器。
vagrant box 设置了端口转发,如下所示:
config.vm.network "forwarded_port", guest: 3000, host: 8080
但是,似乎没有 HTTP 请求到达它。卷曲到它时(通过端口转发),我得到以下结果,并且 Web 服务器的日志没有报告任何请求:
$ curl localhost:8080
curl: (52) Empty reply from server
在 ubuntu 机器上进行本地卷曲会生成网页。
在我看来,Mac 或 Ubuntu 服务器上的防火墙阻止了呼叫。运行 nmap 时,只发现 22 和 111 端口打开:
$ nmap -P0 192.168.33.10
Starting Nmap 6.47 ( http://nmap.org ) at 2015-02-24 12:55 CET
Nmap scan report for 192.168.33.10
Host is up (0.0019s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
22/tcp open ssh
111/tcp open rpcbind
但是,Mac 和 ubuntu 服务器上都没有运行防火墙;在后者上,甚至没有安装 iptables。
我已经查看了有关此主题的其他几个问题,包括以下问题,但它们似乎与我的情况无关。 Vagrant Port Forwarding not working Vagrant's port forwarding not working Vagrant port forwarding not working on Mavericks
我还能尝试什么?
【问题讨论】:
-
# netstat -tulpn是命令。取自here。您在 VM 中的服务器必须监听0.0.0.0或 VM 的 IP 地址,而不是127.0.0.1。
标签: ruby-on-rails vagrant virtualbox