什么将Rails服务器绑定到0.0.0.0会给你买?

and*_*ynh 33 dns bind ruby-on-rails server

我使用"www.xip.io"作为DNS通配符在不同设备上进行测试.我将主域名设置为我的IP地址.我启动了一个rails服务器,bundle exec rails server我去了这里www.<ip_address>.xip.io:3000,注意我的rails服务器没有响应.

但是,如果我将我的rails服务器绑定到0.0.0.0 bundle exec rails server -b 0.0.0.0,那就可以了!我不明白0.0.0.0告诉我的服务器这个是什么工作.有人能理解这个吗?

sma*_*thy 57

绑定以0.0.0.0告知服务绑定到计算机上的所有IP地址.Rails服务器默认情况下用于执行此操作,但4.2已更改为仅绑定到localhost.

基本上,如果它只受到它的约束,localhost那么它只会在本地响应localhost127.0.0.1通过DNS服务无法工作,因为它不是公共IP地址.

使用0.0.0.0它时,它将绑定到localhost 可路由的IP地址.

  • 对于很多人来说,这是一个讨厌的(很少公开的)陷阱. (5认同)
  • 哦,伙计,这让我绝对疯了.如果您尝试从docker容器运行rails并且未指定此选项,则无论您执行什么操作,docker容器都不会响应.这是一个救星. (3认同)
  • 完美的。感谢 4.2 金块。 (2认同)