ruby-on-rails - 将 Rails 服务器绑定(bind)到 0.0.0.0 能给你带来什么?

标签 ruby-on-rails dns bind server

我使用“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那么它只会在本地响应 localhost127.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/

相关文章:

grails - Grails inList约束中特定于语言的值

PHP 和 MySQL - 我应该在查询中绑定(bind)变量之前转义引号吗?

javascript - $.proxy() 和 bind() 有什么区别?

ruby-on-rails - 升级到 Rails 3.2.2 : How to solve the 'undefined method for Syck::DomainType' error related to the Delayed Job gem?

ruby-on-rails - Rake 测试失败 - RunTimeError

azure - 如何在azure中创建自定义通配符域

python - 如何将所有 URL 以 "www"开头的请求重定向到裸域?

c++ - 将运算符 = 传递给函数对象

ruby-on-rails - "&:name"在 Ruby 中是什么意思

ruby-on-rails - 需要 Swagger 文档的授权