我在osx 10.8上运行vmware fusion 5,我的客户操作系统是Arch Linux,目前我能够通过ssh 172.16.4.191
ssh到客户操作系统,但是当我尝试一个简单的sinatra应用程序
require 'sinatra'
get '/hi' do
"Hello world!!!!!!!"
end
ruby hi.rb
2013-04-06 19:45:18] INFO WEBrick 1.3.1
[2013-04-06 19:45:18] INFO ruby 2.0.0 (2013-02-24) [x86_64-linux]
== Sinatra/1.4.2 has taken the stage on 4567 for development with backup from WEBrick
[2013-04-06 19:45:18] INFO WEBrick::HTTPServer#start: pid=426 port=4567
在我的主机操作系统中不可用
curl 172.16.4.191:4567
curl: (7) couldn't connect to host
任何建议都将是伟大的,当然,我会根据需要提供更多的信息。
编辑:选择Share with my mac,"虚拟机在外部网络上共享mac的ip地址。"mac为来自虚拟机
的网络流量提供NAT编辑:我已经切换到桥接模式,它现在位于我的局域网,我仍然可以ssh到它,仍然没有这样的运气连接到我的sinatra应用程序。
和iptables显示没有规则
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
你需要在你的html:
set :bind, '0.0.0.0'
文件说'0.0.0.0'是默认值。这是错误的。
为了防止有人试图在mac/windows 7上使用NAT/sinatra进行此操作,请确保IIS管理器已安装并配置为(connect to server -> localhost:4567)。
从我的Windows浏览器,localhost:4567/promo_id/works
从我的浏览器在mac, http://172.16.178.xxx:4567/promo_id/其中172.16.178。xxx是ipconfig