我在OSX10.8上运行vmware fusion 5,我的客户操作系统是Arch Linux,目前我可以通过ssh 172.16.4.191很好地ssh进入客户操作系统,但是当我尝试一个简单的sinatra应用程序时
require 'sinatra'
get '/hi' do
"Hello world!!!!!!!"
endruby 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任何建议都会很棒,当然我会根据需要提供更多的信息。
编辑:
选择与我的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发布于 2013-04-07 18:19:35
您需要在hi.rb中使用下面这一行:
set :bind, '0.0.0.0'Document显示'0.0.0.0‘是默认值。这是错误的。
发布于 2014-06-20 09:24:40
以防有人在mac /windows7和vmware的NAT/sinatra上做这件事,确保IIS manager已经安装和配置(连接到服务器-> localhost:4567)。
在我的windows浏览器中,localhost:4567/promo_id/ works
在我的mac浏览器中,打开http://172.16.178.xxx:4567/promo_id/,其中172.16.178.xxx是来自ipconfig的IPv4地址
https://stackoverflow.com/questions/15860408
复制相似问题