将 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
,那么它只会在本地响应 localhost
或 127.0.0.1
,这不能通过 DNS 服务工作,因为它不是 public IP 地址。
当您使用 0.0.0.0
时,它将绑定到本地主机 和 到您的可路由 IP 地址。
我认为您在 guest/virtual 机器中的任何时候都需要使用绑定。
我使用 "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
,那么它只会在本地响应 localhost
或 127.0.0.1
,这不能通过 DNS 服务工作,因为它不是 public IP 地址。
当您使用 0.0.0.0
时,它将绑定到本地主机 和 到您的可路由 IP 地址。
我认为您在 guest/virtual 机器中的任何时候都需要使用绑定。