1. ホーム
  2. ウェブパック

localhostと0.0.0.0の違いについて

2022-02-28 23:49:37
<パス

今日 webpack-dev-server configuration host について調べていたら、マニュアルのこの行に行き当たりました。

<ブロッククオート

ホストを使用することを指定します、デフォルトは localhost とするか、外部からアクセスできるようにしたい場合は、以下のようにします。

host: "0.0.0.0"


しかし、ローカルでもアクセスできるように設定できたのは localhost どうにもこうにも、この2つの違いを割り切りたいので、以下にまとめてみました。

理由

各ホストは、複数のNICや複数のIPアドレスなど、複数のIPアドレスを持つ場合があります。 127.0.0.1 は、ローカル ループバックアドレス は、自分自身へのアクセスに特化しており、(スタック全体を経由することなく)高速に、その は、ホスト外のネットワークに現れることはありません。 ので、開発環境での使用にのみ適しています。

<ブロッククオート

localhost ただ 127.0.0.1 のエイリアスです。

0.0.0.0 をリッスンするようにサーバに指示する場合、いくつかの異なる意味があります。 0.0.0.0 というのは は、利用可能なすべてのネットワークインターフェイスをリッスンします。 サーバー・プロセスの観点からは、IPアドレスが 127.0.0.1 ループバックアダプタはマシン上の他のネットワークアダプタと同じように見えるため、ループバックアダプタをリッスンするのに 0.0.0.0 は、そのインターフェイスでの接続も受け付けます。

したがって、実際には、一般に、サーバー側のポートのバインドを 0.0.0.0 というように、ホストの複数のIPアドレスから私のサービスにアクセスできるようにします。

<ブロッククオート

例えば、外部アドレスAと内部アドレスBのサーバーがあり、0.0.0.0を指定したポートにバインドすると、内部アドレスと外部アドレスのどちらからでもアプリケーションにアクセスできるようになりますね。