从vm获取一个sinatra应用程序



我在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

中的IPv4地址。

最新更新