我使用“www.xip.io”作为 DNS 通配符,用于在不同设备上进行测试。我将我的主域设置为我的 IP 地址。我用 bundle exec rails server
启动了一个 Rails 服务器我去这里www.<ip_address>.xip.io:3000
并注意我的 Rails 服务器没有响应。
但是,如果我像这样将我的 rails 服务器绑定(bind)到 0.0.0.0 bundle exec rails server -b 0.0.0.0
, 有用!我不明白 0.0.0.0 告诉我的服务器如何工作。有人能理解这一点吗?
最佳答案
绑定(bind)到 0.0.0.0
告诉服务绑定(bind)到 所有 IP 地址 在你的机器上。 Rails 服务器过去默认执行此操作,但 4.2 更改为仅绑定(bind)到 localhost
.
基本上如果它只绑定(bind)到 localhost
那么它只会在本地响应 localhost
或 127.0.0.1
它不能通过 DNS 服务工作,因为它不是公共(public) IP 地址。
当您使用 0.0.0.0
它将绑定(bind)到 localhost 和 到您的可路由 IP 地址。
关于ruby-on-rails - 将 Rails 服务器绑定(bind)到 0.0.0.0 能给你带来什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29083885/