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