Apache HTTP サーバ バージョン 2.4
翻訳済み言語: tr
Apache が使用するアドレスとポートの設定をします。
関連モジュール | 関連ディレクティブ |
---|---|
Apache は起動時に、ローカルマシンのあるポートおよびアドレス に対して接続し、リクエストが来るのを待ちます。 デフォルトではマシンのすべてのアドレスに対して Listen します。 特定のポートか、特定のアドレスのみか、 またはそれらの組み合わせで Listen するように指定したい場合もあります。 異なる IP アドレス、ホスト名、ポートに対して Apache がどのように 応答するかを制御するバーチャルホスト機能と組み合わせてよく使われます。
Listen
ディレクティブを複数使って Listen するアドレスとポートをいくつも指定できます。 サーバは指定されたアドレスやポートからのリクエストすべてに 対して応答します。
たとえば、全てのインターフェースのポート 80 と 8000 の両方において 接続を受け付けるには
Listen 80
Listen 8000
とします。 あるインターフェースでは 80 番で、また、同時に他のインターフェースの 8000 番ポートで接続を受け付けるには、
Listen 192.0.2.1:80
Listen 192.0.2.5:8000
とします。 IPv6 アドレスは、角括弧で次の例のように囲まなければいけません。
Listen [2001:db8::a00:20ff:fea7:ccea]:80
多くのプラットホームで IPv6 がサポートされてきていて、 APR はこれらのほとんどで IPv6 をサポートしているので、 Apache は IPv6 ソケットを割り当てて IPv6 経由で送られてきたリクエストを扱うことができます。
IPv6 ソケットが IPv4 と IPv6 コネクションの両方を扱うことができるか どうかは、Apache 管理者にとって厄介な問題です。 IPv4 コネクションを IPv6 ソケットで扱う場合は、 IPv4 マップされた IPv6 アドレスを使用していて、 ほとんどのプラットホームではデフォルトで使用可能ですが、 FreeBSD, NetBSD, OpenBSD では、システム全体としてのポリシーとの整合性から、 デフォルトでは使用不可に設定されています。 これらのデフォルトで使用不可のプラットホームであっても、 特別な configure
の 設定パラメータで Apache の挙動を変化させることができます。
一方で、Linux や Tru64 といったプラットホームで IPv4 と IPv6 の両方を扱うには、マップドアドレスを使用する以外の方法はありません。 IPv4 と IPv6 のコネクションを最小限のソケットで扱いたいのであれば、 IPv4 マップの IPv6 アドレスを使用する必要があり、 --enable-v4-mapped
configure
オプションを指定します。
--enable-v4-mapped
は、 FreeBSD, NetBSD, OpenBSD 以外の全てのプラットホームでのデフォルトです。 ですから、おそらくお手元の Apache はこの設定でビルドされているでしょう。
プラットフォームや APR が何をサポートするかに関わらず、 IPv4 コネクションのみを扱うようにしたい場合は、 次の例のように全ての Listen
ディレクティブで IPv4 アドレスを指定してください。
Listen 0.0.0.0:80
Listen 192.0.2.1:80
条件を満たすプラットホームで、Apache が IPv4 と IPv6 のコネクションを別々のソケットで扱うようにしたい場合 (つまり IPv4 マップのアドレスを無効にしたい場合) は、--disable-v4-mapped
Listen
ディレクティブを使用してください。 --disable-v4-mapped
は、 FreeBSD, NetBSD, OpenBSD プラットホームでのデフォルトです。
<VirtualHost>
が Listen していないアドレスとポートに対して 設定されてしまうと、 それにはアクセスできないということに注意してください。
翻訳済み言語: tr