44

私はRuby on Railsに非常に慣れていないので、公式の " Getting Started " Ruby on Rails チュートリアルに従おうとしたとき、すぐにうまくいかなかったので少しがっかりしました。基本的にそれは言った:

…http://localhost:3000 に移動します。Rails のデフォルトの情報ページが表示されます。

しかし、指示に従うと、

=> http://0.0.0.0:3000 で始まる Rails 2.3.4 アプリケーション

両方のアドレスを試した後、それらが同じものを指していることがわかりましたが、Ruby on Railsが ?http://0.0.0.0:3000の代わりに使用する理由を誰か説明してもらえますhttp://localhost:3000か?

WEBrick サーバーに常に localhost を使用させる方法はありますか?

4

8 に答える 8

62

Localhost は文字通り「ローカル ホスト」を意味し、通常は 127.0.0.1 で識別され、そのアドレスへのすべてのトラフィックはループバック インターフェイス経由でルーティングされます。Web サーバーが 127.0.0.1 で接続をリッスンしている場合、これは同じホストからの要求のみを受け入れることを意味します。

0.0.0.0 は、Rails がループバック インターフェイスだけでなく、すべてのインターフェイスでリッスンしていることを意味します。

于 2009-09-25T18:02:16.440 に答える
21

0.0.0.0すべてのインターフェースを意味します。127.0.0.1別名を含むlocalhost

于 2009-09-25T18:02:41.523 に答える
2

必要な場合localhostは、バインディングrails s -blocalhost(および でポートを指定し-pNNNN、 でその他のオプションrails s --help) を指定するのが簡単な方法の 1 つです。

localhost私のサーバーは、調査する理由により、デフォルトで実行を開始しました。その結果lvh.me、動作が停止し、サブドメインを指定できなくなりました (例: www.lvh.me:3000)。

バインディングを指定してこれを「解決」しました:

rails s -b0.0.0.0 # will work with lvh.me
于 2016-07-19T01:52:37.253 に答える
2

誰もが知っているように、私のFirefoxブラウザは、アクセスするとローカルでホストされているサーバーを正しく表示します が 、Rubyが推奨するhttp://localhost:3000/ ようにアクセスしようとすると表示されません . http://0.0.0.0:3000/明らかに、ある意味でそれらは同等ではありません。

私はWindowsを使用しています。

于 2014-10-22T16:32:07.313 に答える
0

OSを再起動するとうまくいきました。(Mac v 10.12)

于 2016-11-22T13:19:01.627 に答える
0

開発に Nitrous.io 仮想サーバー環境を使用している私たちの場合、ローカルホスト自体がないため、0.0.0.0 にバインドする必要があると思います。

于 2015-03-17T20:19:19.523 に答える