为什么Ruby on Rails使用http://0.0.0.0:3000而不是http:// localhost:3000?

Lou*_*Lou 40 ruby ruby-on-rails localhost webrick

我是Ruby on Rails的新手,所以当我尝试按照官方的" 入门 "ruby on rails教程时,我有点失望,因为它很快就出错了.基本上它说:

...导航到http:// localhost:3000.您应该看到Rails的默认信息页面.

但是,当我按照说明操作时,我会得到

=> Rails 2.3.4 application starting on http://0.0.0.0:3000

在尝试了两个地址之后,我知道他们指向同一个东西,但有人可以向我解释为什么Ruby on Rails使用http://0.0.0.0:3000而不是http://localhost:3000

有没有办法让WEBbrick服务器一直使用localhost?

and*_*dri 57

Localhost意味着"你的本地主机",通常由127.0.0.1标识,并且该地址的所有流量都通过环回接口路由.如果您的Web服务器正在侦听127.0.0.1上的连接,这意味着它只接受来自同一主机的请求.

0.0.0.0意味着Rails正在侦听所有接口,而不仅仅是环回接口.

  • 要将WEBrick设置为仅在localhost上侦听,这意味着将忽略外部连接:script/server --binding = 127.0.0.1 (7认同)
  • 仅供参考,在为我启动WEBrick时指定绑定到127.0.0.1使我的本地rails连接(以及外部Web连接)更快.因此,如果您的本地连接速度很慢,我建议@tadman建议使用.在Rails 3中,它是**rails server --binding = 127.0.0.1** (6认同)

Mic*_*ker 21

0.0.0.0意味着所有接口.包括127.0.0.1aka localhost.