Apache が使用するアドレスとポートの設定
Apache は開始する時に、それはローカルなマシンのあるポート及びアドレス
に対して接続し、受信要求を待ちます。
デフォルトでは、マシン上のすべてのアドレス、およびサーバ設定ファイルの
Port ディレクティブで設定されたポートに対して listen します。
しかし、1 以上のポートを listen する、指定されたアドレスに限って
listen する、あるいはそれらを組み合わせて設定することも可能です。
このことは、異なる IP アドレス、ホスト名、ポートに対する Apache
の応答を決定するバーチャルホスト機能と組み合わせて使われます。
Apache が listen するアドレス及びポートを限定するために使われる
ディレクティブが 2 つあります。
- BindAddress
は、サーバが単一のアドレスを listen するように限定して異なる
IP アドレスを listen させた複数の Apache
を同一マシン上で動作させることを許容するために使用できます。
- Listen は単一の Apache
サーバが複数のアドレス / ポートを listen するために使われます。
構文: BindAddress [ * |
IP アドレス | ホスト名 ]
デフォルト:BindAddress
*
コンテキスト:サーバ設定ファイル
ステータス:コア
サーバを、特定のアドレスにバインドします。
属性値が * (アスタリスク) の場合は、現在サーバ上で有効なすべての
インタフェースにバインドします。ポートは Port
ディレクティブでの設定が使われます。BindAddress は 1 つだけ使われます。
構文:Listen [ポート |
IP アドレス:ポート ]
デフォルト:
none
コンテキスト:サーバ設定ファイル
ステータス:コア
Listen ディレクティブは BindAddress および
Port ディレクティブの代わりとして使うこともできます。
これにより特定のポートまたはアドレスとポートの組合わせに対しての
リクエストをサーバが受け付けるようにします。
ポート番号だけの、最初のフォーマットを使った場合、Port
ディレクティブで設定されたポートではなくサーバ上で有効なすべての
インタフェースに対して、ここで設定されたポートを listen します。
ポートと共に IP アドレスを指定した場合は、指定されたポートと
インタフェースに対して listen します。
複数の Listen ディレクティブにより、listen するアドレスとポートを
いくつも指定することも出来ます。
リストされたアドレスとポート全てに対して応答します。
例えば、ポート 80 と 8000 の両方に対しての接続を受け付けるには
Listen 80
Listen 8000
とします。
2 つの指定されたインタフェースとポート番号に対しての接続を受け付けるには
Listen 192.170.2.1:80
Listen 192.170.2.5:8000
とします。
バーチャルホストに対してどう働くのか
BindAddress と Listen はバーチャルホストに対しては
適用されません。メインの Apache デーモンプロセスがどのアドレス及びポートを
listen するのかということを指示します。<VirtualHost>
ディレクティブが全く使われない場合は、受け付けたリクエスト全てに対して
同じ動作をしますが、<VirtualHost> を使って1 つあるいは複数の
アドレス及びポートに対して異なる動作をさせることも出来ます。
バーチャルホストに対して適用させるには次のようにしなければなりません。
- Listen ディレクティブで目的のアドレスと
ポートを指示してください
- <VirtualHost> セクションを作り、そのバーチャルホストで
使用するアドレスとポートを指定してください。
注意 サーバで listen していないアドレス及びポートを <VirtualHost>
で指定した場合、アクセスすることは出来ません。
関連項目
バーチャルホスト、BindAddress
ディレクティブ、ポート
ディレクティブ、DNS
の問題、および<VirtualHost>
セクションの文書も参照してください。