Why does Ruby on Rails use http://0.0.0.0:3000 instead of http://localhost:3000?

Viewed 65805

When I tried to follow the official "Getting Started" Ruby on Rails tutorial, it went wrong very quickly. Basically it said :

…navigate to http://localhost:3000. You should see Rails’ default information page.

But when I follow the instructions, I get

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

After trying both addresses, I know that they point to the same thing, but can someone explain to me why Ruby on Rails uses http://0.0.0.0:3000 instead of http://localhost:3000?

Is there a way to always have the WEBrick server use localhost?

7 Answers

Rails 4.1 Warning Message.

FYI, on Rails 4.1 you will get a warning message on boot that looks like this:

=> Run `rails server -h` for more startup options
=> Notice: server is listening on all interfaces (0.0.0.0). Consider using 127.0.0.1 (--binding option)

This indicates that binding to 0.0.0.0 is not recommended and instead you should use 127.0.0.1.

In Rails 4.2+ the Rails server default binding is to localhost instead of 0.0.0.0 or even 127.0.0.1.

Related