Mac MacOS Lion 不能通过局域网 ip 连接访问本地 Rails server [已解决]

allenwei · 2012年01月18日 · 最后由 linjunzhugg 回复于 2015年03月27日 · 15746 次阅读

localhost:3000 是可以访问的 但是 192.168.1.102:3000 就不可以 也没有打开防火墙 估计问题可能和 mac 自带的 apache 有关 有人遇到类似的问题么?

解决方法: 如 @zhangyuan 所说,我的 Sinatra 的应用绑定的是127.0.0.1,所以按 ip 访问不到 启动的时候绑定到0.0.0.0就好了

host 绑定搞了吗

和 apache 无关把。apache 默认用 80 确定 192.168.1.102 是你的 ip?

#2 楼 @richfisher 确定 ip 是正确的

#1 楼 @alvin2ye 你指的是/etc/hosts么?ip 地址还需要绑定么?

乃启的是 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

突然翻到这帖子 - -

Rails4.2 之前都是默认绑定到 0.0.0.0

Rails 4.2 就默认绑定 localhost 了 - -

需要 登录 后方可回复, 如果你还没有账号请 注册新账号