localhost:3000 是可以访问的 但是 192.168.1.102:3000 就不可以 也没有打开防火墙 估计问题可能和 mac 自带的 apache 有关 有人遇到类似的问题么?
解决方法: 如 @zhangyuan 所说,我的 Sinatra 的应用绑定的是127.0.0.1,所以按 ip 访问不到 启动的时候绑定到0.0.0.0就好了
127.0.0.1
0.0.0.0
host 绑定搞了吗
和 apache 无关把。apache 默认用 80 确定 192.168.1.102 是你的 ip?
#2 楼 @richfisher 确定 ip 是正确的
#1 楼 @alvin2ye 你指的是/etc/hosts么?ip 地址还需要绑定么?
/etc/hosts
#4 楼 @allenwei apache 配置文件
乃启的是 Apache 还是 Webrick 啊?
没有用过 apache。
启动 rails 是绑定到 0.0.0.0 了么?如果绑定的是 127.0.0.1 的话,外网无法访问吧? 把启动的过程说一下。
rails server -b 192.168.1.102
#3 楼 @allenwei 虽然你在 3 楼提到 ip 地址正确,但我还觉得应该是 ip 地址不正确导致的,因为现在很多路由器都有 DHCP 来自动分配 ip,可能上次你的机子是这个 ip,下次就有可能变了,你最好先设定一个固定 ip 再试试
netstat -an | grep 3000
如果是在终端启动的,把启动日志贴出来看看 :)
#10 楼 @yedingding tcp4 0 0 .3000 *. LISTEN
#7 楼 @zhangyuan 果然,绑定到 0.0.0.0 就好了,长见识了 顺便贴上我启动 sinatra 的命令,用 shotgun 启动的 shotgun -o 0.0.0.0
shotgun -o 0.0.0.0
突然翻到这帖子 - -
Rails4.2 之前都是默认绑定到 0.0.0.0
Rails 4.2 就默认绑定 localhost 了 - -