<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>

    <title>Apache が使用するアドレスとポートの設定</title>
  </head>
  <!-- English revision: 1.19 -->
  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->

  <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
  vlink="#000080" alink="#FF0000">
    <!--#include virtual="header.html" -->

    <h1 align="center">Apache が使用するアドレスとポートの設定</h1>

    <p>Apache は起動時に、ローカルマシンのあるポートあよびアドレス
    に対して接続し、リクエストが来るのを待ちます。
    デフォルトではマシンの全てのアドレスに対して listen します。
    しかしながら、特定のポートか、特定のアドレスのみか、
    またはそれらの組み合わせのいずれかを listen するようにする必要があります。
    これは、異なる IP アドレス、ホスト名、ポートに対する Apache
    の応答方法を決定するバーチャルホスト機能と組み合わせて使われます。</p>

    <p><code>Listen</code> ディレクティブは特定のポートや
    アドレス・ポートの組からのみ入ってくるリクエストを
    受け付けるようにできます。
    もしポート番号のみが <code>Listen</code> ディレクティブで
    指定された場合は、全てのインターフェースの与えられたポート番号を
    listen します。 IP アドレスがポート番号と同時に与えられた場合は、
    サーバは与えられたポートとインターフェースを listen します。
    複数の Listen ディレクティブを用いて
    いくつかの listen するアドレスとポートを指定できます。
    サーバはリスとされたアドレスやポートからの全てのリクエストに
    対して応答します。</p>

    <p>例えば、ポート 80 と 8000 の両方に対しての接続を受け付けるには</p>
<pre>
   Listen 80
   Listen 8000
</pre>
    とします。
    2 つの指定されたインタフェースとポート番号に対しての接続を受け付けるには
<pre>
   Listen 192.170.2.1:80
   Listen 192.170.2.5:8000
</pre>
    とします。
    IPv6 アドレスは、角括弧で次の例のように囲まなければいけません。
<pre>
   Listen [fe80::a00:20ff:fea7:ccea]:80
</pre>

    <h2>IPv6 の特記事項</h2>

    APR が IPv6 をサポートする場合は、Apache はデフォルトで IPv6
    を listen するソケットを作ります (例えば Listen ディレクティブで
    IP アドレスが無指定の場合)。
    つまり、APR が IPv6 をサポートする場合、
<pre>
   Listen 80
</pre>
    は
<pre>
   Listen [::]:80
</pre>
    と同等です。APR が IPv6 をサポートしない場合は、
<pre>
   Listen 80
</pre>
    は
<pre>
   Listen 0.0.0.0:80
</pre>
    と同等です。
    NetBSD 等のいくつかのプラットホームでは、IPv6
    のワイルドカードアドレス (「::」) のバインドでは IPv4
    インターフェースにコネクションを張れません。
    このような状況では、次のように複数の Listen ディレクティブが必要になります。
<pre>
   Listen 0.0.0.0:80
   Listen [::]:80
</pre>
    Apache は現在これを自動検出することができないので、
    そのような場合は
    Listen 命令文は管理者が手動で編集しないといけません。

    <h2>バーチャルホストに対してどう働くのか</h2>

    <p>Listen でバーチャルホストが実装されるわけではありません。
    Listen は単にメインサーバにどのアドレスとポートを listen すべきかを
    教えるだけです。
    &lt;VirtualHost&gt; ディレクティブが使われない場合は、
    受け入れたリクエスト全てに対して全く同じ挙動をします。
    しかしながら &lt;VirtualHost&gt; 使って、
    一つ以上のアドレスやポートに対して異なる挙動をするように
    指定することができます。
    VirtualHost 実装するには、使用するアドレスとポートを
    まず始めにサーバに通知しなければなりません。
    そして、その指定したアドレスとポートでの
    このバーチャルホストの挙動を設定するために、
    &lt;VirtualHost&gt; セクションを作ります。
    もし &lt;VirtualHost&gt; が listen していないアドレスとポートに対して
    設定されてしまうと、
    アクセスすることができないということに注意してください。</p>

    <h2>関連項目</h2>
    <a
    href="mod/mpm_common.html#listen">Listen ディレクティブ</a>、<a
    href="vhosts/">バーチャルホスト</a>、<a
    href="dns-caveats.html">DNS の問題</a> と <a
    href="mod/core.html#virtualhost">&lt;VirtualHost&gt;
    セクション</a>の文書もご覧下さい。
    <!--#include virtual="footer.html" -->
  </body>
</html>

