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

What does binding a Rails Server to 0.0.0.0 buy you?

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

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

绑定到 0.0.0.0 告诉服务绑定到您计算机上的 所有 IP 地址。 Rails 服务器过去默认执行此操作,但 4.2 更改为仅绑定到 localhost

基本上,如果它只绑定到 localhost,那么它只会在本地响应 localhost127.0.0.1,这不能通过 DNS 服务工作,因为它不是 public IP 地址。

当您使用 0.0.0.0 时,它将绑定到本地主机 到您的可路由 IP 地址。

我认为您在 guest/virtual 机器中的任何时候都需要使用绑定。