Apache HTTP Server Version 2.0
バインド
Apache が使用する�アドレスとポートの設定をします。
参照
概要
関連モジュール core
mpm_common
関連ディレクティブ VirtualHost
Listen
Apache は起動時に、ローカルマシンのあるポートあよびアドレス に対して接続し�、リクエストが来るのを待ちます。 デフォルトではマシンのすべてのアドレスに対して listen します。 しかしながら、特定のポートか、特定のアドレスのみか、 またはそれらの組み合わせのいずれかを listen するようにする必要が�あります。 これは、異なる IP アドレス、ホスト名、ポートに対する Apache の応答方法を決定するバーチャルホスト機能と組み合わせて使われます。
Listen
ディレクティブで、特定のポートやアドレス・ポートの組から�のみ入ってくる リクエストを受け付けるようにできます。 もしポート番号のみがListen
ディレクティブで指定された場合は、 すべてのインターフェースの与えられたポート番号を listen します。 IP アドレスがポート番号と同時に与えられた場合は、 サーバは与えられたポートとインターフェースを listen します。 複数の Listen ディレクティブを用いて いくつかの listen するアドレスとポートを指定できます。 サーバはリストされたアドレスやポートからのすべてのリクエストに 対して応答します。たとえば、ポート 80 と 8000 の両方に対しての接続を受け付けるには
Listen 80
Listen 8000とします。 二つの指定されたインタフェースとポート番号に対しての接続を受け付けるには、
Listen 192.170.2.1:80
Listen 192.170.2.5:8000とします。 IPv6 アドレスは、角括弧で次の例のように囲まなければいけません。
Listen [fe80::a00:20ff:fea7:ccea]:80
IPv6 の特記事項
APR が IPv6 をサポートする場合は、Apache はデフォルトで IPv6 を listen するソケットを作ります (例えば Listen ディレクティブで IP アドレスが無指定の場合)。 つまり、APR が IPv6 をサポートしている場合、
Listen 80
は、次と同じ意味になります。
Listen [::]:80
APR が IPv6 をサポートしていない場合は、
Listen 80
は、次と同じ意味になります。
Listen 0.0.0.0:80
NetBSD 等のいくつかのプラットホームでは、IPv6 のワイルドカー�ドアドレス (「::」) のバインドでは IPv4 インターフェースにコネクションを張れません。 このような状況では、次のように複数の Listen ディレクティブが必要になります。
Listen 0.0.0.0:80
Listen [::]:0Apache は現在これを自動検出することができないので、 そのような場合は Listen 命令文は管理者が手動で編集しないといけません。
バーチャルホストに対してどう働くのか
Listen でバーチャルホストが実装されるわけではありません。 Listen は単にメインサーバにどのアドレスとポートを listen すべきかを 教えるだけです。
<VirtualHost>
ディレクティブが使われない場合は、 受け入れたリクエストすべてに対して全く同じ挙動をします。 しかしながら<VirtualHost>
を使って、 一つ以上のアドレスやポートに対して異なる挙動をするように 指定することができます。 VirtualHost を実装するには、使用するアドレスとポートを まず初めにサーバに通知しなければなりません。 そして、その指定したアドレスとポートでの このバーチャルホストの挙動を設定するために、<VirtualHost>
セクションを作ります。もし<VirtualHost>
が listen していないアドレスとポートに対して 設定されてしまうと、 それにはアクセスできないということに注意してください。