在虚拟机里安装的 rails,并且在虚拟机里可以用http://127.0.0.1:3000 访问,为什么我在本机上通过虚拟机的 ip 访问 WEBrick 就不能访问到了呢。
WEBrick 有一个小 bug,ruby1.9.3 版本下外部访问会卡死。需要你改个地方,具体搜下 stackoverflow。改用 thin 吧。
ruby 1.9.2 一下,没有问题,可以外网访问 最好使用 thin gem 'thin'`
gem 'thin'
确认一下 binding ip 是不是 0.0.0.0
我的 ruby 是 1.8.7 的~~~窘
ifconfig
看下你的网卡是不是有外网 IP 地址
thin没法在 win 下安装,用puma吧,这个快 gem install puma
thin
puma
gem install puma
跟虚拟机的映射端口有关系,VM 和 VB 都可以设置
#9 楼 @DavidWei 还有这种原因?
#7 楼 @chucai 有的,我能在外面 ping 通
是不是虚拟机开启了防火墙,把 iptables 关掉再试一试。
#10 楼 @weiwei5987 试下 telnet <端口>
刚才自己用 NAT 方式用端口映射方式试了下,发现可以: 又用 Host-only 方式试了下,也是可以。
所以怀疑是不是楼主防火墙的原因?btw.只有 NAT 方式有端口映射一说。。
#13 楼 @DavidWei Telnet 了,表示没有开启
#12 楼 @zmbacker 正解,是我懒了,我以为 ftp 能访问 iptables 就没开。。。我错了,给楼上的各位也添麻烦了。
#14 楼 @DavidWei 非常感谢你,是 iptables 的问题,谢谢,谢谢,给你添麻烦了~~~
#8 楼 @ywjno puma 如何访问 https 呢?