httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rbo...@apache.org
Subject svn commit: r1673857 [19/23] - in /httpd/httpd/branches/2.2.x/docs/manual: ./ howto/ misc/ mod/ programs/ vhosts/
Date Wed, 15 Apr 2015 16:36:07 GMT
Modified: httpd/httpd/branches/2.2.x/docs/manual/mod/mod_proxy.html.ja.utf8
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/docs/manual/mod/mod_proxy.html.ja.utf8?rev=1673857&r1=1673856&r2=1673857&view=diff
==============================================================================
--- httpd/httpd/branches/2.2.x/docs/manual/mod/mod_proxy.html.ja.utf8 [utf-8] (original)
+++ httpd/httpd/branches/2.2.x/docs/manual/mod/mod_proxy.html.ja.utf8 [utf-8] Wed Apr 15 16:36:04 2015
@@ -119,487 +119,161 @@
 <li><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code></li>
 </ul><ul class="seealso"><li><a href="#comments_section">コメント</a></li></ul></div>
 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="forwardreverse" id="forwardreverse">フォワードプロキシとリバースプロキシ/ゲートウェイ</a></h2>
-      <p>Apache は <dfn>フォワード</dfn> プロキシとしても、
-      <dfn>リバース</dfn> プロキシ (別名 <dfn>ゲートウェイ</dfn>) としても設定できます。</p>
-
-      <p>通常の <dfn>フォワードプロキシ</dfn> はクライアントと
-      <em>オリジンサーバ</em> <span class="transnote">(<em>訳注:</em> コンテンツ生成元のサーバ)</span>
-      の間に位置する中間サーバです。
-      オリジンサーバからコンテンツを取得するために、クライアントは
-      行き先をオリジンサーバに指定したリクエストをプロキシに送ります。
-      プロキシはオリジンサーバからコンテンツを受け取り、
-      取得したコンテンツをクライアントに返します。
-      クライアントがフォワードプロキシ経由で他のサイトにアクセスするには、
-      特別にそのための設定をしなければなりません。</p>
-
-      <p>フォワードプロキシの一般的な使用方法は、ファイアウォールによって
-      制限されている内部のクライアントに、インターネットへのアクセスを
-      提供するものです。フォワードプロキシはネットワークの使用量を
-      減らすために (<code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> で提供されている)
-      キャッシュ機能を用いることもできます。</p>
-
-      <p>フォワードプロキシは <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> ディレクティブで
-      有効になります。フォワードプロキシを使うと、クライアントは本当の身元を
-      隠して任意のサイトにアクセスできるようになります。このため、フォワードプロキシを
-      有効にする前に、承認されたクライアントのみがプロキシにアクセスできるように
-      <a href="#access">サーバを安全にする</a>ことが重要です。</p>
-
-      <p>一方 <dfn>リバースプロキシ</dfn> (<dfn>ゲートウェイ</dfn>) は、
-      クライアントから普通のウェブサーバのように見えます。
-      クライアント側に特別な設定は必要ありません。
-      クライアントはリバースプロキシの名前空間内のコンテンツに対して通常どおりの
-      リクエストを行ないます。リバースプロキシはリクエストをどこに送れば良いかを判定し、
-      あたかも自分自身がオリジンサーバであったかのようにクライアントに
-      コンテンツを返します。</p>
+<div class="directive-section"><h2><a name="AllowCONNECT" id="AllowCONNECT">AllowCONNECT</a> <a name="allowconnect" id="allowconnect">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>プロキシを経由して、どのポートに <code>CONNECT</code>
+できるかを指定する</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AllowCONNECT <var>port</var> [<var>port</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>AllowCONNECT 443 563</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+</table>
+    <p><code class="directive">AllowCONNECT</code> はプロキシの <code>CONNECT</code>
+    メソッドが接続を許可するポート番号のリストを指定します。
+    今日のブラウザは、<code>https</code> コネクションが要求されていて、
+    HTTP 上でのプロキシによるトンネリングができるときに、
+    このメソッドを使います。</p>
 
-      <p>リバースプロキシのよくある利用方法は、インターネットユーザに
-      ファイアウォールの中にあるサーバにアクセスさせる場合です。
-      リバースプロキシは複数のバックエンドサーバへ負荷分散をするために
-      使ったり、遅いバックエンドエンドサーバのためにキャッシュ機能を提供したり
-      するためにも使えます。また、リバースプロキシは複数のサーバを
-      同じ URL 空間にまとめるために使うこともできます。</p>
+    <p>デフォルトの設定では、https のデフォルトポート (<code>443</code>) と
+    デフォルトの snews ポート (<code>563</code>) が有効になっています。
+    このデフォルトを上書きして、リストに記載したポートにのみ接続を許可したい場合、
+    <code class="directive">AllowCONNECT</code> ディレクティブを使用します。</p>
 
-      <p>リバースプロキシは <code class="directive"><a href="#proxypass">ProxyPass</a></code> ディレクティブや
-      <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> ディレクティブの
-      <code>[P]</code> フラグを使うことで有効になります。リバースプロキシの
-      設定のために <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> を設定する必要は
-      <em>ありません</em>。</p>
-    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="examples" id="examples">基本の例</a></h2>
+    <p><code>CONNECT</code> を使用するには、<code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code>
+    がサーバに組み込まれていなければならないことに注意してください。</p>
 
-    <p>以下の例は手始めの簡単な例です。個々のディレクティブの意味は
-    それぞれの説明をお読みください。</p>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="BalancerMember" id="BalancerMember">BalancerMember</a> <a name="balancermember" id="balancermember">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ロードバランサのグループにメンバーを追加</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>BalancerMember [<var>balancerurl</var>] <var>url</var> [<var>key=value [key=value ...]]</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>BalancerMember は Apache 2.2 以降でのみ使用可能</td></tr>
+</table>
+    <p>このディレクティブでロードバランサのグループにメンバを追加します。
+    <code>&lt;Proxy <var>balancer://</var>...&gt;</code> ディレクティブのコンテナ
+    内で使われることが多く、<code class="directive"><a href="#proxypass">ProxyPass</a></code>
+    ディレクティブと共通のキーバリューペアのパラメータを取ります。</p>
+    <p><code>&lt;Proxy <var>balancer://</var>...&gt;</code> ディレクティブの
+    コンテナ内に書かない場合のみ、 balancerurl 引数が必要です。 これは
+    <code class="directive"><a href="#proxypass">ProxyPass</a></code> ディレクティブで
+    バランサを定義した時の URL と同じ働きをします。</p>
 
-    <p>またキャッシュ機能を有効にしたい場合は、<code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>
-    の説明を読んでください。</p>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="NoProxy" id="NoProxy">NoProxy</a> <a name="noproxy" id="noproxy">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>直接接続する ホスト、ドメイン、ネットワーク</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>NoProxy <var>host</var> [<var>host</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+</table>
+    <p>このディレクティブはイントラネット中の Apache プロキシサーバにのみ
+    有用です。<code class="directive">NoProxy</code> ディレクティブは空白区切りで、
+    サブネット、IP アドレス、ホスト、ドメインのリストを指定します。
+    これらのどれかにマッチするホストへのリクエストは <code class="directive"><a href="#proxyremote">ProxyRemote</a></code> で設定されたプロキシサーバに
+    フォワードされず、直接処理されます。</p>
 
-    <div class="example"><h3>リバースプロキシ</h3><p><code>
-    ProxyPass /foo http://foo.example.com/bar<br />
-    ProxyPassReverse /foo http://foo.example.com/bar
+    <div class="example"><h3>例</h3><p><code>
+      ProxyRemote  *  http://firewall.example.com:81<br />
+      NoProxy         .example.com 192.168.112.0/21
     </code></p></div>
 
-    <div class="example"><h3>フォワードプロキシ</h3><p><code>
-    ProxyRequests On<br />
-    ProxyVia On<br />
-    <br />
-    &lt;Proxy *&gt;<br />
-    <span class="indent">
-      Order deny,allow<br />
-      Deny from all<br />
-      Allow from internal.example.com<br />
-    </span>
-    &lt;/Proxy&gt;
-    </code></p></div>
+    <p><code class="directive">NoProxy</code> ディレクティブの <var>host</var> 引数は
+    以下の種類のどれかです:</p>
 
-    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="workers" id="workers">ワーカー</a></h2>
-      <p>プロキシは <dfn>ワーカー</dfn> と呼ばれるオブジェクトで
-      オリジンサーバとの通信パラメータの設定を管理します。
-      ふたつの組み込みワーカーが存在します。デフォルトのフォワードプロキシワーカーと
-      デフォルトのリバースプロキシワーカーです。
-      追加のワーカーを明示的に設定可能です。</p>
+    <dl>
+    
+    <dt><var><a name="domain" id="domain">Domain</a></var></dt>
+    <dd>
+    <p><dfn>Domain</dfn> は先頭にピリオドを書いた部分 DNS ドメイン名です。
+    同一 DNS ドメイン及びゾーン (<em>すなわち</em>、ホスト名の末尾がすべて
+    <var>Domain</var> で終わっているということ) に属するホストのリストを
+    表します)。</p>
 
-      <p>ふたつのデフォルトワーカーは固定の設定を持ちます。
-      リクエストが他のワーカーにマッチしない場合に使われます。
-      これらは HTTP のキープアライブもコネクションプーリングも使いません。
-      オリジンサーバへの TCP 接続はリクエストのたびに接続と切断をします。</p>
+    <div class="example"><h3>例</h3><p><code>
+      .com .apache.org.
+    </code></p></div>
 
-      <p>明示的に設定するワーカーは、URL で識別されます。
-      通常、<code class="directive"><a href="#proxypass">ProxyPass</a></code>
-      または <code class="directive"><a href="#proxypassmatch">ProxyPassMatch</a></code>
-      をリバースプロキシ設定に使うことで、これらのワーカーを生成および設定します:</p>
+    <p><var>Domain</var> を <a href="#hostname">Hostname</a> と区別するために (意味的にも構文的にも。DNS ドメインも
+    DNS の A レコードを持つことができるのです!)、<var>Domain</var> は
+    常にピリオドで始まります。</p>
 
-      <div class="example"><p><code>
-          ProxyPass /example http://backend.example.com connectiontimeout=5 timeout=30
-      </code></p></div>
+    <div class="note"><h3>注</h3>
+      <p>ドメイン名の比較は大文字小文字を区別せずに行なわれ、<var>Domain</var>
+      は常に DNS ツリーのルートから始まるものとみなされます。ですから、
+      次の二つのドメイン <code>.ExAmple.com</code> と
+      <code>.example.com.</code> (最後のピリオドに注目) は同一であると
+      みなされます。ドメインの比較は DNS ルックアップなしで行なわれるため、
+      サブネットの比較よりもずっと効率的です。</p>
+    </div></dd>
 
-      <p>上記はオリジンサーバの <code>http://backend.example.com</code>
-      の URL に関連するワーカーを生成します。ワーカーは指定したタイムアウト値を持ちます。
-      フォワードプロキシで使われる時、ワーカーは一般に
-      <code class="directive"><a href="#proxyset">ProxySet</a></code> ディレクティブで
-      定義します:</p>
+    
+    <dt><var><a name="subnet" id="subnet">SubNet</a></var></dt>
+    <dd>
+    <p><dfn>SubNet</dfn> は数値形式 (ドットで区切られた四つの数字) の
+    部分インターネットアドレスです。後にスラッシュと <var>Subnet</var>
+    の意味のあるビット数を指定するネットマスクとを続けることができます。
+    共通のネットワークインタフェースを使って到達することのできるサブネットを
+    表すために使われます。明示的にネットマスクを指定しない場合は
+    最後の省略された (もしくは値が 0 の) 数字がマスクを指定します。
+    (この場合は、ネットマスクは 8 ビット単位でしか指定できません。)
+    例:</p>
 
-      <div class="example"><p><code>
-          ProxySet http://backend.example.com connectiontimeout=5 timeout=30
-      </code></p></div>
+    <dl>
+    <dt><code>192.168</code> もしくは <code>192.168.0.0</code></dt>
+    <dd>サブネット 192.168.0.0 と暗黙の 16 ビット有効なネットマスク
+    (<code>255.255.0.0</code> というネットマスクの形式で使われることも
+    あります)</dd>
+    <dt><code>192.168.112.0/21</code></dt>
+    <dd>サブネット<code>192.168.112.0/21</code> と 21 ビット有効な
+    ネットマスク (<code>255.255.248.0</code> という形式で使われることも
+    あります)</dd>
+    </dl>
 
-      <p>または、別の方法として <code class="directive"><a href="#proxy">Proxy</a></code>
-      と <code class="directive"><a href="#proxyset">ProxySet</a></code>でも定義できます:</p>
+    <p>特別な場合に、32 ビット有効な <em>SubNet</em> は
+    <var><a href="#ipadr">IPAddr</a></var> と同等で、
+    0 ビット有効な <var>SubNet</var> (<em>例えば</em>、0.0.0.0/0) は
+    すべての IP アドレスにマッチする定数 <var>_Default_</var> と同じです。</p>
+    </dd>
 
-      <div class="example"><p><code>
-        &lt;Proxy http://backend.example.com&gt;<br />
-        <span class="indent">
-          ProxySet connectiontimeout=5 timeout=30
-        </span>
-        &lt;/Proxy&gt;
-      </code></p></div>
+    
+    <dt><var><a name="ipaddr" id="ipaddr">IPAddr</a></var></dt>
+    <dd>
+    <p><dfn>IPAddr</dfn> は数値形式 (ドットで区切られた四つの数字) の
+    完全インターネットアドレスです。通常はこのアドレスはホストを
+    表しますが、必ずしもアドレスに対応する DNS ドメイン名があるわけでは
+    ありません。</p>
 
-      <p>フォワードモードで明示的に設定したワーカーを使うのは、あまり一般的ではありません。
-      なぜなら、通常フォワードプロキシは多くの異なるオリジンサーバと通信するからです。
-      もし一部のオリジンサーバを頻繁に利用するなら、それらに対して
-      明示的にワーカーを生成するのは有用です。明示的に設定したワーカーは、
-      それ自体はフォワードプロキシかリバースプロキシかのコンセプトを持ちません。
-      それらはオリジンサーバと通信する共通のコンセプトを抱えています。
-      リバースプロキシで使うために <code class="directive"><a href="#proxypass">ProxyPass</a></code>
-      で生成したワーカーは、オリジンサーバへの URL がワーカーの URL にマッチすれば
-      いつでもフォワードプロキシとして使えます。これは、逆も成り立ちます。</p>
+    <div class="example"><h3>例</h3><p><code>
+      192.168.123.7
+    </code></p></div>
 
-      <p>ワーカーを識別する URL はそのオリジンサーバの URL です。
-      URL は指定したパス部分も含みます:</p>
+    <div class="note"><h3>注</h3>
+      <p><var>IPAddr</var> は DNS システムにより解決される必要がないので、
+      apache の性能が向上するかもしれません。</p>
+    </div></dd>
 
-      <div class="example"><p><code>
-          ProxyPass /examples http://backend.example.com/examples<br />
-          ProxyPass /docs http://backend.example.com/docs
-      </code></p></div>
+    
+    <dt><var><a name="hostname" id="hostname">Hostname</a></var></dt>
+    <dd>
+    <p><dfn>Hostname</dfn> は DNS ドメインサービスにより一つもしくは
+    複数の <var><a href="#ipaddr">IPAddr</a></var> に解決可能な
+    完全な DNS ドメイン名です。これは (<var><a href="#domain">Domain</a></var>
+    と違って、説明は上記を参照) 論理的なホストを表し、少くとも一つの
+    <var><a href="#ipaddr">IPAddr</a></var> (もしくは違う
+    <var><a href="#ipaddr">IPAddr</a></var> のホストのリスト) に解決
+    されなければなりません)。</p>
 
-      <p>この例はふたつの異なるワーカーを定義しています。
-      それぞれ別のコネクションプールと設定を使います。</p>
-
-      <div class="warning"><h3>ワーカーの共有</h3>
-        <p>もしワーカーの URL に重なりがあれば、ワーカーの共有が起きます。
-        重なりとは、ワーカーの URL が、設定ファイル内で後から定義した
-        別のワーカーの URL の先頭文字列と部分一致することです。
-        次の例で</p>
-
-        <div class="example"><p><code>
-            ProxyPass /apps http://backend.example.com/ timeout=60<br />
-            ProxyPass /examples http://backend.example.com/examples timeout=10
-        </code></p></div>
-
-        <p>ふたつめのワーカーは実際には生成されません。
-        その代わり、ひとつめのワーカーを使います。この利点は、ただひとつの
-        コネクションプールで済む点です。このため、コネクションをより頻繁に再利用できます。
-        後ろのワーカーに明示的に書いた設定のすべてのパラメータと一部の設定のデフォルト値は、
-        最初のワーカーに書いた設定を上書きするのを注意してください。
-        これは警告としてログに残ります。上記の例で言えば、<code>/apps</code>
-        の URL に対するタイムアウト値は、結果として <code>60</code> ではなく
-        <code>10</code>になるのです。</p>
-
-        <p>もしワーカーの共有を避けたければ、ワーカーの定義を URL の長さでソートしてください。
-        そして、長い URL から並べてください。もしワーカーの共有を最大限にしたいなら、
-        逆順に並べます。<code class="directive"><a href="#proxypass">ProxyPass</a></code>
-        ディレクティブの並びについて、関連する警告も見てください。</p>
-
-      </div> 
-
-      <p>明示的に設定するワーカーにはふたつの種類があります:
-      <dfn>直接のワーカー</dfn> と <dfn>バランサー (負荷分散) ワーカー</dfn> です。
-      これらは後ほど <code class="directive"><a href="#proxypass">ProxyPass</a></code>
-      ディレクティブの中で説明する重要な設定パラメータを数多くサポートします。
-      同じパラメータは <code class="directive"><a href="#proxyset">ProxySet</a></code>
-      を使っても設定可能です。</p>
-
-      <p>直接のワーカーで利用できるパラメータはプロトコルに依存します。
-      プロトコルはオリジンサーバの URL で指定されます。
-      利用可能なプロトコルは <code>ajp</code>,
-      <code>ftp</code>, <code>http</code>, <code>scgi</code> です。</p>
-
-      <p>バランサーワーカーは仮想ワーカーです。直接のワーカーを
-      リクエストを実際に処理するメンバーとして使います。
-      それぞれのバランサーは複数のメンバーを持ちえます。
-      リクエストを処理する時、設定した負荷分散のアルゴリズムにもとづき
-      メンバーのひとつを選択します。</p>
-
-      <p>ワーカーの URL のプロトコルスキームに <code>balancer</code>
-      を使うと、バランサワーカーが生成されます。
-      バランサーの URL が、バランサワーカーを一意に識別します。
-      <code class="directive"><a href="#balancermember">BalancerMember</a></code>
-      を使って、バランサーにメンバーを追加します。</p>
-
-    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="access" id="access">プロキシへのアクセス制御</a></h2>
-      <p>プロキシへのアクセスは以下のように <code class="directive"><a href="#proxy">&lt;Proxy&gt;</a></code> コンテナの中に
-      ディレクティブを書くことで制御できます:</p>
-
-      <div class="example"><p><code>
-        &lt;Proxy *&gt;<br />
-        <span class="indent">
-          Order Deny,Allow<br />
-          Deny from all<br />
-          Allow from 192.168.0<br />
-        </span>
-        &lt;/Proxy&gt;
-      </code></p></div>
-
-      <p>アクセス制御のためのディレクティブのより詳しい情報は
-      <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> をお読みください。</p>
-
-      <p>(<code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> ディレクティブを
-      使って) フォワードプロキシを設定している場合は、厳しくアクセス
-      制限を行なうことが非常に大切です。そうしないと、任意のクライアントが
-      身元を明かすことなく任意のホストにアクセスするためにプロキシサーバを使うことが
-      できてしまいます。これはあなた自身のネットワークにとっても、インターネット
-      全体にとっても危険なことです。(<code>ProxyRequests Off</code> にして
-      <code class="directive"><a href="#proxypass">ProxyPass</a></code> ディレクティブを使って)
-      リバースプロキシを使っている場合には、クライアントはあなたが明示的に
-      設定したホストにしかアクセスできないため、フォワードプロキシのとき
-      ほどアクセス制御に力を注がなくても大丈夫です。</p>
-
-    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="startup" id="startup">遅い起動</a></h2>
-      <p><code class="directive"><a href="#proxyblock">ProxyBlock</a></code> ディレクティブを使っている場合、
-      後に行うマッチ判定のため、起動時にホストの名前解決をして
-      IP アドレスをキャッシュします。ホスト名の名前解決の
-      速さによっては、数秒 (かそれ以上) かかるかもしれません。</p>
-    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="intranet" id="intranet">イントラネットプロキシ</a></h2>
-      <p>イントラネットにある Apache プロキシサーバは外部へのリクエストを
-      会社のファイアウォールを通して送らなければなりません。(このためには
-      個々の <var>scheme</var> についてそれぞれ、ファイアウォールの
-      プロキシにフォワードされるように
-      <code class="directive"><a href="#proxyremote">ProxyRemote</a></code> ディレクティブを
-      設定してください)。しかしイントラネット内のリソースにアクセスするときは、
-      ファイアウォールを通さないでもアクセスできます。
-      どのホストがイントラネットに属し、直接アクセスすべきかを指定するには、
-      <code class="directive"><a href="#noproxy">NoProxy</a></code> ディレクティブが
-      役に立ちます。</p>
-
-      <p>イントラネット内のユーザは WWW のリクエストでローカルドメインを
-      省略することがよくあります。<code>http://somehost.example.com/</code>
-      というリクエストの代わりに "http://somehost/" をリクエストしたりします。
-      このようなリクエストを受け付け、サーバに設定されているローカルドメインが
-      暗黙のうちに使われていると解釈して、単純にリクエストを処理するものも
-      商用プロキシサーバの中にはあります。
-      サーバが <a href="#proxyrequests">プロキシのサービス用に設定されていて</a>
-      <code class="directive"><a href="#proxydomain">ProxyDomain</a></code> ディレクティブが
-      使用された場合には、Apache はクライアントにリダイレクト応答を送って、
-      正しい、完全な <span class="transnote">(<em>訳注:</em> fully qualified)</span>
-      サーバのアドレスに送ることができます。このように
-      リダイレクトすると、ユーザのブックマークが正しい完全なホスト名を含む
-      ことにもなるため、より好ましい方法と言えるでしょう。</p>
-    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="envsettings" id="envsettings">プロトコルの調整</a></h2>
-      <p>Keepalive や HTTP/1.1 を適切に実装していないオリジンサーバに対して
-      <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> がリクエストを送信する場合、
-      HTTP/1.0 を使って keepalive を無しにしてリクエストを送るようにする <a href="../env.html">環境変数</a>が二つあります。これらは <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code> ディレクティブで設定します。</p>
-
-      <p><code>force-proxy-request-1.0</code> と <code>proxy-nokeepalive</code>
-      がその環境変数です。</p>
-
-      <div class="example"><p><code>
-        &lt;Location /buggyappserver/&gt;<br />
-        <span class="indent">
-          ProxyPass http://buggyappserver:7001/foo/<br />
-          SetEnv force-proxy-request-1.0 1<br />
-          SetEnv proxy-nokeepalive 1<br />
-        </span>
-        &lt;/Location&gt;
-      </code></p></div>
-
-    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="request-bodies" id="request-bodies">リクエストボディ</a></h2>
-
-    <p>POST メソッドなどのリクエストには、リクエストボディがあります。
-    HTTP プロトコル仕様によると、ボディのあるリクエストは chunked
-    転送を使うか、<code>Content-Length</code>
-    ヘッダを送信しなければなりません。
-    このようなリクエストをオリジンサーバに送信する場合、
-    <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> は常に <code>Content-Length</code>
-    を送ろうと試みます。しかし、ボディが大きく、オリジナルのリクエストで
-    chunked 転送が使われている場合、上流へのリクエストに
-    chunked 転送も使われます。
-    この挙動は <a href="../env.html">環境変数</a>で制御できます。
-    <code>proxy-sendcl</code> を設定すると、
-    常に <code>Content-Length</code> を送り、最大限の互換性を確保します。
-    逆に <code>proxy-sendchunked</code> を設定すると、
-    chunked エンコードを使ってリソース消費を抑えます。</p>
-
-    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="section">
-<h2><a name="x-headers" id="x-headers">リバースプロキシのリクエストヘッダ</a></h2>
-
-    <p>リバースプロキシとして振る舞う時 (例えば、<code class="directive"><a href="#proxypass">ProxyPass</a></code> ディレクティブを使う時) 、
-    <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> は、オリジンサーバに情報を渡すために
-    いくつかのリクエストヘッダを追加します。これらのヘッダは以下になります。</p>
-
-    <dl>
-      <dt><code>X-Forwarded-For</code></dt>
-      <dd>クライアントの IP アドレス。</dd>
-      <dt><code>X-Forwarded-Host</code></dt>
-      <dd>オリジナルのホスト名。クライアントが <code>Host</code>
-      リクエストヘッダで渡す。</dd>
-      <dt><code>X-Forwarded-Server</code></dt>
-      <dd>プロキシサーバのホスト名。</dd>
-    </dl>
-
-    <p>オリジンサーバ上でこれらのヘッダを扱う時は注意してください。
-    と言うのも、オリジナルのリクエストが既に同じヘッダを持っていると、
-    ヘッダが一つ以上の値 (コンマで区切られます) を持つ可能性があるからです。
-    例えば、 オリジンサーバ上でオリジナルのクライアントのIPアドレスをログに
-    記録するため、ログフォーマットに <code>%{X-Forwarded-For}i</code> を
-    指定したとします。この時、リクエストが複数のプロキシを経由していると、
-    複数のアドレスがログに載る可能性があります。</p>
-
-    <p><code class="directive"><a href="#proxypreservehost">ProxyPreserveHost</a></code> と
-    <code class="directive"><a href="#proxyvia">ProxyVia</a></code> ディレクティブ
-    も参照してください。これらは他のリクエストヘッダに影響を与えます。</p>
-
-   </div>
-<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="directive-section"><h2><a name="AllowCONNECT" id="AllowCONNECT">AllowCONNECT</a> <a name="allowconnect" id="allowconnect">ディレクティブ</a></h2>
-<table class="directive">
-<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>プロキシを経由して、どのポートに <code>CONNECT</code>
-できるかを指定する</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>AllowCONNECT <var>port</var> [<var>port</var>] ...</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>AllowCONNECT 443 563</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
-<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
-<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
-</table>
-    <p><code class="directive">AllowCONNECT</code> はプロキシの <code>CONNECT</code>
-    メソッドが接続を許可するポート番号のリストを指定します。
-    今日のブラウザは、<code>https</code> コネクションが要求されていて、
-    HTTP 上でのプロキシによるトンネリングができるときに、
-    このメソッドを使います。</p>
-
-    <p>デフォルトの設定では、https のデフォルトポート (<code>443</code>) と
-    デフォルトの snews ポート (<code>563</code>) が有効になっています。
-    このデフォルトを上書きして、リストに記載したポートにのみ接続を許可したい場合、
-    <code class="directive">AllowCONNECT</code> ディレクティブを使用します。</p>
-
-    <p><code>CONNECT</code> を使用するには、<code class="module"><a href="../mod/mod_proxy_connect.html">mod_proxy_connect</a></code>
-    がサーバに組み込まれていなければならないことに注意してください。</p>
-
-</div>
-<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="directive-section"><h2><a name="BalancerMember" id="BalancerMember">BalancerMember</a> <a name="balancermember" id="balancermember">ディレクティブ</a></h2>
-<table class="directive">
-<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>ロードバランサのグループにメンバーを追加</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>BalancerMember [<var>balancerurl</var>] <var>url</var> [<var>key=value [key=value ...]]</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ</td></tr>
-<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
-<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>BalancerMember は Apache 2.2 以降でのみ使用可能</td></tr>
-</table>
-    <p>このディレクティブでロードバランサのグループにメンバを追加します。
-    <code>&lt;Proxy <var>balancer://</var>...&gt;</code> ディレクティブのコンテナ
-    内で使われることが多く、<code class="directive"><a href="#proxypass">ProxyPass</a></code>
-    ディレクティブと共通のキーバリューペアのパラメータを取ります。</p>
-    <p><code>&lt;Proxy <var>balancer://</var>...&gt;</code> ディレクティブの
-    コンテナ内に書かない場合のみ、 balancerurl 引数が必要です。 これは
-    <code class="directive"><a href="#proxypass">ProxyPass</a></code> ディレクティブで
-    バランサを定義した時の URL と同じ働きをします。</p>
-
-</div>
-<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="directive-section"><h2><a name="NoProxy" id="NoProxy">NoProxy</a> <a name="noproxy" id="noproxy">ディレクティブ</a></h2>
-<table class="directive">
-<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>直接接続する ホスト、ドメイン、ネットワーク</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>NoProxy <var>host</var> [<var>host</var>] ...</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
-<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
-<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
-</table>
-    <p>このディレクティブはイントラネット中の Apache プロキシサーバにのみ
-    有用です。<code class="directive">NoProxy</code> ディレクティブは空白区切りで、
-    サブネット、IP アドレス、ホスト、ドメインのリストを指定します。
-    これらのどれかにマッチするホストへのリクエストは <code class="directive"><a href="#proxyremote">ProxyRemote</a></code> で設定されたプロキシサーバに
-    フォワードされず、直接処理されます。</p>
-
-    <div class="example"><h3>例</h3><p><code>
-      ProxyRemote  *  http://firewall.example.com:81<br />
-      NoProxy         .example.com 192.168.112.0/21
-    </code></p></div>
-
-    <p><code class="directive">NoProxy</code> ディレクティブの <var>host</var> 引数は
-    以下の種類のどれかです:</p>
-
-    <dl>
-    
-    <dt><var><a name="domain" id="domain">Domain</a></var></dt>
-    <dd>
-    <p><dfn>Domain</dfn> は先頭にピリオドを書いた部分 DNS ドメイン名です。
-    同一 DNS ドメイン及びゾーン (<em>すなわち</em>、ホスト名の末尾がすべて
-    <var>Domain</var> で終わっているということ) に属するホストのリストを
-    表します)。</p>
-
-    <div class="example"><h3>例</h3><p><code>
-      .com .apache.org.
-    </code></p></div>
-
-    <p><var>Domain</var> を <a href="#hostname">Hostname</a> と区別するために (意味的にも構文的にも。DNS ドメインも
-    DNS の A レコードを持つことができるのです!)、<var>Domain</var> は
-    常にピリオドで始まります。</p>
-
-    <div class="note"><h3>注</h3>
-      <p>ドメイン名の比較は大文字小文字を区別せずに行なわれ、<var>Domain</var>
-      は常に DNS ツリーのルートから始まるものとみなされます。ですから、
-      次の二つのドメイン <code>.ExAmple.com</code> と
-      <code>.example.com.</code> (最後のピリオドに注目) は同一であると
-      みなされます。ドメインの比較は DNS ルックアップなしで行なわれるため、
-      サブネットの比較よりもずっと効率的です。</p>
-    </div></dd>
-
-    
-    <dt><var><a name="subnet" id="subnet">SubNet</a></var></dt>
-    <dd>
-    <p><dfn>SubNet</dfn> は数値形式 (ドットで区切られた四つの数字) の
-    部分インターネットアドレスです。後にスラッシュと <var>Subnet</var>
-    の意味のあるビット数を指定するネットマスクとを続けることができます。
-    共通のネットワークインタフェースを使って到達することのできるサブネットを
-    表すために使われます。明示的にネットマスクを指定しない場合は
-    最後の省略された (もしくは値が 0 の) 数字がマスクを指定します。
-    (この場合は、ネットマスクは 8 ビット単位でしか指定できません。)
-    例:</p>
-
-    <dl>
-    <dt><code>192.168</code> もしくは <code>192.168.0.0</code></dt>
-    <dd>サブネット 192.168.0.0 と暗黙の 16 ビット有効なネットマスク
-    (<code>255.255.0.0</code> というネットマスクの形式で使われることも
-    あります)</dd>
-    <dt><code>192.168.112.0/21</code></dt>
-    <dd>サブネット<code>192.168.112.0/21</code> と 21 ビット有効な
-    ネットマスク (<code>255.255.248.0</code> という形式で使われることも
-    あります)</dd>
-    </dl>
-
-    <p>特別な場合に、32 ビット有効な <em>SubNet</em> は
-    <var><a href="#ipadr">IPAddr</a></var> と同等で、
-    0 ビット有効な <var>SubNet</var> (<em>例えば</em>、0.0.0.0/0) は
-    すべての IP アドレスにマッチする定数 <var>_Default_</var> と同じです。</p>
-    </dd>
-
-    
-    <dt><var><a name="ipaddr" id="ipaddr">IPAddr</a></var></dt>
-    <dd>
-    <p><dfn>IPAddr</dfn> は数値形式 (ドットで区切られた四つの数字) の
-    完全インターネットアドレスです。通常はこのアドレスはホストを
-    表しますが、必ずしもアドレスに対応する DNS ドメイン名があるわけでは
-    ありません。</p>
-
-    <div class="example"><h3>例</h3><p><code>
-      192.168.123.7
-    </code></p></div>
-
-    <div class="note"><h3>注</h3>
-      <p><var>IPAddr</var> は DNS システムにより解決される必要がないので、
-      apache の性能が向上するかもしれません。</p>
-    </div></dd>
-
-    
-    <dt><var><a name="hostname" id="hostname">Hostname</a></var></dt>
-    <dd>
-    <p><dfn>Hostname</dfn> は DNS ドメインサービスにより一つもしくは
-    複数の <var><a href="#ipaddr">IPAddr</a></var> に解決可能な
-    完全な DNS ドメイン名です。これは (<var><a href="#domain">Domain</a></var>
-    と違って、説明は上記を参照) 論理的なホストを表し、少くとも一つの
-    <var><a href="#ipaddr">IPAddr</a></var> (もしくは違う
-    <var><a href="#ipaddr">IPAddr</a></var> のホストのリスト) に解決
-    されなければなりません)。</p>
-
-    <div class="example"><h3>例</h3><p><code>
-      prep.ai.example.com<br />
-      www.apache.org
-    </code></p></div>
+    <div class="example"><h3>例</h3><p><code>
+      prep.ai.example.com<br />
+      www.apache.org
+    </code></p></div>
 
     <div class="note"><h3>注</h3>
       <p>多くの場合、<var>Hostname</var> の代わりに <var><a href="#ipaddr">IPAddr</a></var> を指定した方が、DNS ルックアップを
@@ -1496,185 +1170,511 @@ URL を調整する</td></tr>
       ProxyRemote ftp http://ftpproxy.mydomain:8080
     </code></p></div>
 
-    <p>最後の例では、プロキシは FTP リクエストを別の HTTP リクエストで包んで
-    そのようなリクエストを扱える別のプロキシに転送します。</p>
+    <p>最後の例では、プロキシは FTP リクエストを別の HTTP リクエストで包んで
+    そのようなリクエストを扱える別のプロキシに転送します。</p>
+
+    <p>このオプションはリバースプロキシの設定もサポートします。
+    バックエンドウェブサーバが別のフォワードプロキシの後ろに隠されている場合でも
+    バックエンドウェブサーバをバーチャルホストの URL 空間に入れることが
+    できます。</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyRemoteMatch" id="ProxyRemoteMatch">ProxyRemoteMatch</a> <a name="proxyremotematch" id="proxyremotematch">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>正規表現でのマッチによるリクエストを扱うリモートプロキシの指定</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyRemoteMatch <var>regex</var> <var>remote-server</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+</table>
+    <p><code class="directive">ProxyRemoteMatch</code> は最初の引数がリクエストされた
+    URL にマッチする<a class="glossarylink" href="../glossary.html#regex" title="用語集を参照">正規表現</a>であることを除けば <code class="directive"><a href="#proxyremote">ProxyRemote</a></code> ディレクティブと同じです。</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyRequests" id="ProxyRequests">ProxyRequests</a> <a name="proxyrequests" id="proxyrequests">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>フォワード (標準の) プロキシリクエストを有効にする</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyRequests On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProxyRequests Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+</table>
+    <p>これは Apache のフォワードプロキシサーバとしての動作を
+    有効もしくは無効にします。(ProxyRequests を <code>Off</code> に
+    設定しても、<code class="directive"><a href="#proxypass">ProxyPass</a></code>
+    の設定は無効になりません。)</p>
+
+    <p>通常のリバースプロキシ/ゲートウェイの設定では、このオプションは <code>Off</code>
+    に設定してください。</p>
+
+    <p>HTTP や FTP サイトへのプロキシの機能を有効にしたい場合は、
+    <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> や <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code> が
+    サーバに組み込まれていなければなりません。</p>
+
+    <div class="warning"><h3>警告</h3>
+      <p><a href="#access">サーバを安全にする</a>まで <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> は有効にしないでください。
+      オープンプロキシサーバはあなた自身のネットワークにとっても、
+      インターネット全体にとっても危険です。</p>
+    </div>
+
+<h3>参照</h3>
+<ul>
+<li><a href="#forwardreverse">フォワードプロキシとリバースプロキシ/ゲートウェイ</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxySet" id="ProxySet">ProxySet</a> <a name="proxyset" id="proxyset">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>プロキシのバランサやメンバのパラメータをセット</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxySet <var>url</var> <var>key=value [key=value ...]</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>ProxySet は Apache 2.2 以降でのみ使用可能</td></tr>
+</table>
+    <p>このディレクティブは、通常は <code class="directive"><a href="#proxypass">ProxyPass</a></code>
+    ディレクティブで行うプロキシのバランサやワーカーに対するパラメータを
+    別の方法で設定できるようにします。
+    <code>&lt;Proxy <var>balancer url|worker url</var>&gt;</code>
+    ディレクティブのコンテナ内で使う場合、<var>url</var> 引数は必要ありません。
+    副次的に、それぞれのバランサやワーカーが生成されます。
+    <code class="directive"><a href="#proxypass">ProxyPass</a></code> ディレクティブではなく、
+    <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> でリバースプロキシ
+    設定をする時にこのディレクティブは有用です。</p>
+
+    <div class="example"><p><code>
+      &lt;Proxy balancer://hotcluster&gt;<br />
+      <span class="indent">
+        BalancerMember http://www2.example.com:8009 loadfactor=1<br />
+        BalancerMember http://www3.example.com:8009 loadfactor=2<br />
+        ProxySet lbmethod=bytraffic<br />
+      </span>
+      &lt;/Proxy&gt;
+    </code></p></div>
+
+    <div class="example"><p><code>
+      &lt;Proxy http://backend&gt;<br />
+      <span class="indent">
+        ProxySet keepalive=On<br />
+      </span>
+      &lt;/Proxy&gt;
+    </code></p></div>
+
+    <div class="example"><p><code>
+        ProxySet balancer://foo lbmethod=bytraffic timeout=15
+    </code></p></div>
+
+    <div class="example"><p><code>
+        ProxySet ajp://backend:7001 timeout=15
+    </code></p></div>
+
+   <div class="warning"><h3>警告</h3>
+      <p>設定対象がバランサかワーカーかで、パラメータ名が同じでも意味が異なる可能性
+      に注意してください。例えば、タイムアウトに関連する上記ふたつの例がそうです。</p>
+   </div>
 
-    <p>このオプションはリバースプロキシの設定もサポートします。
-    バックエンドウェブサーバが別のフォワードプロキシの後ろに隠されている場合でも
-    バックエンドウェブサーバをバーチャルホストの URL 空間に入れることが
-    できます。</p>
 
 </div>
 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="directive-section"><h2><a name="ProxyRemoteMatch" id="ProxyRemoteMatch">ProxyRemoteMatch</a> <a name="proxyremotematch" id="proxyremotematch">ディレクティブ</a></h2>
+<div class="directive-section"><h2><a name="ProxyStatus" id="ProxyStatus">ProxyStatus</a> <a name="proxystatus" id="proxystatus">ディレクティブ</a></h2>
 <table class="directive">
-<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>正規表現でのマッチによるリクエストを扱うリモートプロキシの指定</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyRemoteMatch <var>regex</var> <var>remote-server</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>mod_status でプロキシのロードバランサの状態を表示</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyStatus Off|On|Full</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProxyStatus Off</code></td></tr>
 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Apache 2.2 以降で使用可能</td></tr>
 </table>
-    <p><code class="directive">ProxyRemoteMatch</code> は最初の引数がリクエストされた
-    URL にマッチする<a class="glossarylink" href="../glossary.html#regex" title="用語集を参照">正規表現</a>であることを除けば <code class="directive"><a href="#proxyremote">ProxyRemote</a></code> ディレクティブと同じです。</p>
+    <p>このディレクティブは <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> によるサーバステータスのページ
+    にプロキシのロードバランサの状態を表示するか否かを決めます。</p>
+    <div class="note"><h3>注意</h3>
+      <p><strong>Full</strong> は <strong>On</strong> の別名です。</p>
+    </div>
+
 
 </div>
 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="directive-section"><h2><a name="ProxyRequests" id="ProxyRequests">ProxyRequests</a> <a name="proxyrequests" id="proxyrequests">ディレクティブ</a></h2>
+<div class="directive-section"><h2><a name="ProxyTimeout" id="ProxyTimeout">ProxyTimeout</a> <a name="proxytimeout" id="proxytimeout">ディレクティブ</a></h2>
 <table class="directive">
-<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>フォワード (標準の) プロキシリクエストを有効にする</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyRequests On|Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProxyRequests Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>プロキシされたリクエストのネットワークタイムアウト</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyTimeout <var>seconds</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code><code class="directive"><a href="../mod/core.html#timeout">Timeout</a></code> の値</code></td></tr>
 <tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
 <tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
 <tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Apache 2.0.31 以降で使用可能</td></tr>
 </table>
-    <p>これは Apache のフォワードプロキシサーバとしての動作を
-    有効もしくは無効にします。(ProxyRequests を <code>Off</code> に
-    設定しても、<code class="directive"><a href="#proxypass">ProxyPass</a></code>
-    の設定は無効になりません。)</p>
+    <p>このディレクティブはユーザがプロキシリクエストのタイムアウトを
+    指定できるようにします。これはハングしてしまうほど遅い、もしくは挙動の
+    怪しいサーバがあり、サーバがデータを返すまでひたすら待ち続けるよりも
+    タイムアウトを返してより緩やかに<span class="transnote">(<em>訳注:</em> graceful に)</span>
+    失敗させたい場合に役に立ちます。</p>
 
-    <p>通常のリバースプロキシ/ゲートウェイの設定では、このオプションは <code>Off</code>
-    に設定してください。</p>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ProxyVia" id="ProxyVia">ProxyVia</a> <a name="proxyvia" id="proxyvia">ディレクティブ</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>プロキシされたリクエストの <code>Via</code> HTTP レスポンスヘッダ
+により提供される情報</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyVia On|Off|Full|Block</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProxyVia Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
+<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
+</table>
+    <p>このディレクティブはプロキシの <code>Via:</code> HTTP ヘッダの使用を
+    制御します。想定されている使い方は、プロキシサーバがいくつも繋がっているときに
+    プロキシリクエストの流れを制御することです。<code>Via:</code> ヘッダ行の
+    説明は <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a> (HTTP/1.1)
+    の 14.45 節を読んでください。</p>
+
+    <ul>
+    <li>デフォルトの <code>Off</code> に設定されていると、特別な処理は
+    行なわれません。リクエストやリプライに <code>Via:</code> ヘッダがあれば、
+    変更されずにそのまま渡します。</li>
+
+    <li><code>On</code> に設定されていれば、各リクエストとリプライに
+    <code>Via:</code> 行が追加されます。</li>
+
+    <li><code>Full</code> に設定されていれば、<code>Via:</code> ヘッダは
+    コメント部分に Apache サーバのバージョンも含むようになります。</li>
+
+    <li><code>Block</code> に設定されていれば、すべてのプロキシリクエストから
+    <code>Via:</code> ヘッダが取り除かれます。新たに <code>Via:</code> が
+    生成されることはありません。</li>
+    </ul>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="forwardreverse" id="forwardreverse">フォワードプロキシとリバースプロキシ/ゲートウェイ</a></h2>
+      <p>Apache は <dfn>フォワード</dfn> プロキシとしても、
+      <dfn>リバース</dfn> プロキシ (別名 <dfn>ゲートウェイ</dfn>) としても設定できます。</p>
+
+      <p>通常の <dfn>フォワードプロキシ</dfn> はクライアントと
+      <em>オリジンサーバ</em> <span class="transnote">(<em>訳注:</em> コンテンツ生成元のサーバ)</span>
+      の間に位置する中間サーバです。
+      オリジンサーバからコンテンツを取得するために、クライアントは
+      行き先をオリジンサーバに指定したリクエストをプロキシに送ります。
+      プロキシはオリジンサーバからコンテンツを受け取り、
+      取得したコンテンツをクライアントに返します。
+      クライアントがフォワードプロキシ経由で他のサイトにアクセスするには、
+      特別にそのための設定をしなければなりません。</p>
+
+      <p>フォワードプロキシの一般的な使用方法は、ファイアウォールによって
+      制限されている内部のクライアントに、インターネットへのアクセスを
+      提供するものです。フォワードプロキシはネットワークの使用量を
+      減らすために (<code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code> で提供されている)
+      キャッシュ機能を用いることもできます。</p>
+
+      <p>フォワードプロキシは <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> ディレクティブで
+      有効になります。フォワードプロキシを使うと、クライアントは本当の身元を
+      隠して任意のサイトにアクセスできるようになります。このため、フォワードプロキシを
+      有効にする前に、承認されたクライアントのみがプロキシにアクセスできるように
+      <a href="#access">サーバを安全にする</a>ことが重要です。</p>
+
+      <p>一方 <dfn>リバースプロキシ</dfn> (<dfn>ゲートウェイ</dfn>) は、
+      クライアントから普通のウェブサーバのように見えます。
+      クライアント側に特別な設定は必要ありません。
+      クライアントはリバースプロキシの名前空間内のコンテンツに対して通常どおりの
+      リクエストを行ないます。リバースプロキシはリクエストをどこに送れば良いかを判定し、
+      あたかも自分自身がオリジンサーバであったかのようにクライアントに
+      コンテンツを返します。</p>
+
+      <p>リバースプロキシのよくある利用方法は、インターネットユーザに
+      ファイアウォールの中にあるサーバにアクセスさせる場合です。
+      リバースプロキシは複数のバックエンドサーバへ負荷分散をするために
+      使ったり、遅いバックエンドエンドサーバのためにキャッシュ機能を提供したり
+      するためにも使えます。また、リバースプロキシは複数のサーバを
+      同じ URL 空間にまとめるために使うこともできます。</p>
+
+      <p>リバースプロキシは <code class="directive"><a href="#proxypass">ProxyPass</a></code> ディレクティブや
+      <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> ディレクティブの
+      <code>[P]</code> フラグを使うことで有効になります。リバースプロキシの
+      設定のために <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> を設定する必要は
+      <em>ありません</em>。</p>
+    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="examples" id="examples">基本の例</a></h2>
+
+    <p>以下の例は手始めの簡単な例です。個々のディレクティブの意味は
+    それぞれの説明をお読みください。</p>
+
+    <p>またキャッシュ機能を有効にしたい場合は、<code class="module"><a href="../mod/mod_cache.html">mod_cache</a></code>
+    の説明を読んでください。</p>
+
+    <div class="example"><h3>リバースプロキシ</h3><p><code>
+    ProxyPass /foo http://foo.example.com/bar<br />
+    ProxyPassReverse /foo http://foo.example.com/bar
+    </code></p></div>
+
+    <div class="example"><h3>フォワードプロキシ</h3><p><code>
+    ProxyRequests On<br />
+    ProxyVia On<br />
+    <br />
+    &lt;Proxy *&gt;<br />
+    <span class="indent">
+      Order deny,allow<br />
+      Deny from all<br />
+      Allow from internal.example.com<br />
+    </span>
+    &lt;/Proxy&gt;
+    </code></p></div>
+
+    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="workers" id="workers">ワーカー</a></h2>
+      <p>プロキシは <dfn>ワーカー</dfn> と呼ばれるオブジェクトで
+      オリジンサーバとの通信パラメータの設定を管理します。
+      ふたつの組み込みワーカーが存在します。デフォルトのフォワードプロキシワーカーと
+      デフォルトのリバースプロキシワーカーです。
+      追加のワーカーを明示的に設定可能です。</p>
+
+      <p>ふたつのデフォルトワーカーは固定の設定を持ちます。
+      リクエストが他のワーカーにマッチしない場合に使われます。
+      これらは HTTP のキープアライブもコネクションプーリングも使いません。
+      オリジンサーバへの TCP 接続はリクエストのたびに接続と切断をします。</p>
+
+      <p>明示的に設定するワーカーは、URL で識別されます。
+      通常、<code class="directive"><a href="#proxypass">ProxyPass</a></code>
+      または <code class="directive"><a href="#proxypassmatch">ProxyPassMatch</a></code>
+      をリバースプロキシ設定に使うことで、これらのワーカーを生成および設定します:</p>
+
+      <div class="example"><p><code>
+          ProxyPass /example http://backend.example.com connectiontimeout=5 timeout=30
+      </code></p></div>
+
+      <p>上記はオリジンサーバの <code>http://backend.example.com</code>
+      の URL に関連するワーカーを生成します。ワーカーは指定したタイムアウト値を持ちます。
+      フォワードプロキシで使われる時、ワーカーは一般に
+      <code class="directive"><a href="#proxyset">ProxySet</a></code> ディレクティブで
+      定義します:</p>
+
+      <div class="example"><p><code>
+          ProxySet http://backend.example.com connectiontimeout=5 timeout=30
+      </code></p></div>
+
+      <p>または、別の方法として <code class="directive"><a href="#proxy">Proxy</a></code>
+      と <code class="directive"><a href="#proxyset">ProxySet</a></code>でも定義できます:</p>
+
+      <div class="example"><p><code>
+        &lt;Proxy http://backend.example.com&gt;<br />
+        <span class="indent">
+          ProxySet connectiontimeout=5 timeout=30
+        </span>
+        &lt;/Proxy&gt;
+      </code></p></div>
+
+      <p>フォワードモードで明示的に設定したワーカーを使うのは、あまり一般的ではありません。
+      なぜなら、通常フォワードプロキシは多くの異なるオリジンサーバと通信するからです。
+      もし一部のオリジンサーバを頻繁に利用するなら、それらに対して
+      明示的にワーカーを生成するのは有用です。明示的に設定したワーカーは、
+      それ自体はフォワードプロキシかリバースプロキシかのコンセプトを持ちません。
+      それらはオリジンサーバと通信する共通のコンセプトを抱えています。
+      リバースプロキシで使うために <code class="directive"><a href="#proxypass">ProxyPass</a></code>
+      で生成したワーカーは、オリジンサーバへの URL がワーカーの URL にマッチすれば
+      いつでもフォワードプロキシとして使えます。これは、逆も成り立ちます。</p>
+
+      <p>ワーカーを識別する URL はそのオリジンサーバの URL です。
+      URL は指定したパス部分も含みます:</p>
+
+      <div class="example"><p><code>
+          ProxyPass /examples http://backend.example.com/examples<br />
+          ProxyPass /docs http://backend.example.com/docs
+      </code></p></div>
+
+      <p>この例はふたつの異なるワーカーを定義しています。
+      それぞれ別のコネクションプールと設定を使います。</p>
+
+      <div class="warning"><h3>ワーカーの共有</h3>
+        <p>もしワーカーの URL に重なりがあれば、ワーカーの共有が起きます。
+        重なりとは、ワーカーの URL が、設定ファイル内で後から定義した
+        別のワーカーの URL の先頭文字列と部分一致することです。
+        次の例で</p>
+
+        <div class="example"><p><code>
+            ProxyPass /apps http://backend.example.com/ timeout=60<br />
+            ProxyPass /examples http://backend.example.com/examples timeout=10
+        </code></p></div>
+
+        <p>ふたつめのワーカーは実際には生成されません。
+        その代わり、ひとつめのワーカーを使います。この利点は、ただひとつの
+        コネクションプールで済む点です。このため、コネクションをより頻繁に再利用できます。
+        後ろのワーカーに明示的に書いた設定のすべてのパラメータと一部の設定のデフォルト値は、
+        最初のワーカーに書いた設定を上書きするのを注意してください。
+        これは警告としてログに残ります。上記の例で言えば、<code>/apps</code>
+        の URL に対するタイムアウト値は、結果として <code>60</code> ではなく
+        <code>10</code>になるのです。</p>
+
+        <p>もしワーカーの共有を避けたければ、ワーカーの定義を URL の長さでソートしてください。
+        そして、長い URL から並べてください。もしワーカーの共有を最大限にしたいなら、
+        逆順に並べます。<code class="directive"><a href="#proxypass">ProxyPass</a></code>
+        ディレクティブの並びについて、関連する警告も見てください。</p>
+
+      </div> 
+
+      <p>明示的に設定するワーカーにはふたつの種類があります:
+      <dfn>直接のワーカー</dfn> と <dfn>バランサー (負荷分散) ワーカー</dfn> です。
+      これらは後ほど <code class="directive"><a href="#proxypass">ProxyPass</a></code>
+      ディレクティブの中で説明する重要な設定パラメータを数多くサポートします。
+      同じパラメータは <code class="directive"><a href="#proxyset">ProxySet</a></code>
+      を使っても設定可能です。</p>
 
-    <p>HTTP や FTP サイトへのプロキシの機能を有効にしたい場合は、
-    <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> や <code class="module"><a href="../mod/mod_proxy_ftp.html">mod_proxy_ftp</a></code> が
-    サーバに組み込まれていなければなりません。</p>
+      <p>直接のワーカーで利用できるパラメータはプロトコルに依存します。
+      プロトコルはオリジンサーバの URL で指定されます。
+      利用可能なプロトコルは <code>ajp</code>,
+      <code>ftp</code>, <code>http</code>, <code>scgi</code> です。</p>
 
-    <div class="warning"><h3>警告</h3>
-      <p><a href="#access">サーバを安全にする</a>まで <code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> は有効にしないでください。
-      オープンプロキシサーバはあなた自身のネットワークにとっても、
-      インターネット全体にとっても危険です。</p>
-    </div>
+      <p>バランサーワーカーは仮想ワーカーです。直接のワーカーを
+      リクエストを実際に処理するメンバーとして使います。
+      それぞれのバランサーは複数のメンバーを持ちえます。
+      リクエストを処理する時、設定した負荷分散のアルゴリズムにもとづき
+      メンバーのひとつを選択します。</p>
 
-<h3>参照</h3>
-<ul>
-<li><a href="#forwardreverse">フォワードプロキシとリバースプロキシ/ゲートウェイ</a></li>
-</ul>
-</div>
-<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="directive-section"><h2><a name="ProxySet" id="ProxySet">ProxySet</a> <a name="proxyset" id="proxyset">ディレクティブ</a></h2>
-<table class="directive">
-<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>プロキシのバランサやメンバのパラメータをセット</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxySet <var>url</var> <var>key=value [key=value ...]</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ</td></tr>
-<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
-<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>ProxySet は Apache 2.2 以降でのみ使用可能</td></tr>
-</table>
-    <p>このディレクティブは、通常は <code class="directive"><a href="#proxypass">ProxyPass</a></code>
-    ディレクティブで行うプロキシのバランサやワーカーに対するパラメータを
-    別の方法で設定できるようにします。
-    <code>&lt;Proxy <var>balancer url|worker url</var>&gt;</code>
-    ディレクティブのコンテナ内で使う場合、<var>url</var> 引数は必要ありません。
-    副次的に、それぞれのバランサやワーカーが生成されます。
-    <code class="directive"><a href="#proxypass">ProxyPass</a></code> ディレクティブではなく、
-    <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> でリバースプロキシ
-    設定をする時にこのディレクティブは有用です。</p>
+      <p>ワーカーの URL のプロトコルスキームに <code>balancer</code>
+      を使うと、バランサワーカーが生成されます。
+      バランサーの URL が、バランサワーカーを一意に識別します。
+      <code class="directive"><a href="#balancermember">BalancerMember</a></code>
+      を使って、バランサーにメンバーを追加します。</p>
 
-    <div class="example"><p><code>
-      &lt;Proxy balancer://hotcluster&gt;<br />
-      <span class="indent">
-        BalancerMember http://www2.example.com:8009 loadfactor=1<br />
-        BalancerMember http://www3.example.com:8009 loadfactor=2<br />
-        ProxySet lbmethod=bytraffic<br />
-      </span>
-      &lt;/Proxy&gt;
-    </code></p></div>
+    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="access" id="access">プロキシへのアクセス制御</a></h2>
+      <p>プロキシへのアクセスは以下のように <code class="directive"><a href="#proxy">&lt;Proxy&gt;</a></code> コンテナの中に
+      ディレクティブを書くことで制御できます:</p>
 
-    <div class="example"><p><code>
-      &lt;Proxy http://backend&gt;<br />
-      <span class="indent">
-        ProxySet keepalive=On<br />
-      </span>
-      &lt;/Proxy&gt;
-    </code></p></div>
+      <div class="example"><p><code>
+        &lt;Proxy *&gt;<br />
+        <span class="indent">
+          Order Deny,Allow<br />
+          Deny from all<br />
+          Allow from 192.168.0<br />
+        </span>
+        &lt;/Proxy&gt;
+      </code></p></div>
 
-    <div class="example"><p><code>
-        ProxySet balancer://foo lbmethod=bytraffic timeout=15
-    </code></p></div>
+      <p>アクセス制御のためのディレクティブのより詳しい情報は
+      <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> をお読みください。</p>
 
-    <div class="example"><p><code>
-        ProxySet ajp://backend:7001 timeout=15
-    </code></p></div>
+      <p>(<code class="directive"><a href="#proxyrequests">ProxyRequests</a></code> ディレクティブを
+      使って) フォワードプロキシを設定している場合は、厳しくアクセス
+      制限を行なうことが非常に大切です。そうしないと、任意のクライアントが
+      身元を明かすことなく任意のホストにアクセスするためにプロキシサーバを使うことが
+      できてしまいます。これはあなた自身のネットワークにとっても、インターネット
+      全体にとっても危険なことです。(<code>ProxyRequests Off</code> にして
+      <code class="directive"><a href="#proxypass">ProxyPass</a></code> ディレクティブを使って)
+      リバースプロキシを使っている場合には、クライアントはあなたが明示的に
+      設定したホストにしかアクセスできないため、フォワードプロキシのとき
+      ほどアクセス制御に力を注がなくても大丈夫です。</p>
 
-   <div class="warning"><h3>警告</h3>
-      <p>設定対象がバランサかワーカーかで、パラメータ名が同じでも意味が異なる可能性
-      に注意してください。例えば、タイムアウトに関連する上記ふたつの例がそうです。</p>
-   </div>
+    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="startup" id="startup">遅い起動</a></h2>
+      <p><code class="directive"><a href="#proxyblock">ProxyBlock</a></code> ディレクティブを使っている場合、
+      後に行うマッチ判定のため、起動時にホストの名前解決をして
+      IP アドレスをキャッシュします。ホスト名の名前解決の
+      速さによっては、数秒 (かそれ以上) かかるかもしれません。</p>
+    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="intranet" id="intranet">イントラネットプロキシ</a></h2>
+      <p>イントラネットにある Apache プロキシサーバは外部へのリクエストを
+      会社のファイアウォールを通して送らなければなりません。(このためには
+      個々の <var>scheme</var> についてそれぞれ、ファイアウォールの
+      プロキシにフォワードされるように
+      <code class="directive"><a href="#proxyremote">ProxyRemote</a></code> ディレクティブを
+      設定してください)。しかしイントラネット内のリソースにアクセスするときは、
+      ファイアウォールを通さないでもアクセスできます。
+      どのホストがイントラネットに属し、直接アクセスすべきかを指定するには、
+      <code class="directive"><a href="#noproxy">NoProxy</a></code> ディレクティブが
+      役に立ちます。</p>
+
+      <p>イントラネット内のユーザは WWW のリクエストでローカルドメインを
+      省略することがよくあります。<code>http://somehost.example.com/</code>
+      というリクエストの代わりに "http://somehost/" をリクエストしたりします。
+      このようなリクエストを受け付け、サーバに設定されているローカルドメインが
+      暗黙のうちに使われていると解釈して、単純にリクエストを処理するものも
+      商用プロキシサーバの中にはあります。
+      サーバが <a href="#proxyrequests">プロキシのサービス用に設定されていて</a>
+      <code class="directive"><a href="#proxydomain">ProxyDomain</a></code> ディレクティブが
+      使用された場合には、Apache はクライアントにリダイレクト応答を送って、
+      正しい、完全な <span class="transnote">(<em>訳注:</em> fully qualified)</span>
+      サーバのアドレスに送ることができます。このように
+      リダイレクトすると、ユーザのブックマークが正しい完全なホスト名を含む
+      ことにもなるため、より好ましい方法と言えるでしょう。</p>
+    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="envsettings" id="envsettings">プロトコルの調整</a></h2>
+      <p>Keepalive や HTTP/1.1 を適切に実装していないオリジンサーバに対して
+      <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> がリクエストを送信する場合、
+      HTTP/1.0 を使って keepalive を無しにしてリクエストを送るようにする <a href="../env.html">環境変数</a>が二つあります。これらは <code class="directive"><a href="../mod/mod_env.html#setenv">SetEnv</a></code> ディレクティブで設定します。</p>
 
+      <p><code>force-proxy-request-1.0</code> と <code>proxy-nokeepalive</code>
+      がその環境変数です。</p>
 
-</div>
-<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="directive-section"><h2><a name="ProxyStatus" id="ProxyStatus">ProxyStatus</a> <a name="proxystatus" id="proxystatus">ディレクティブ</a></h2>
-<table class="directive">
-<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>mod_status でプロキシのロードバランサの状態を表示</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyStatus Off|On|Full</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProxyStatus Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
-<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
-<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Apache 2.2 以降で使用可能</td></tr>
-</table>
-    <p>このディレクティブは <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> によるサーバステータスのページ
-    にプロキシのロードバランサの状態を表示するか否かを決めます。</p>
-    <div class="note"><h3>注意</h3>
-      <p><strong>Full</strong> は <strong>On</strong> の別名です。</p>
-    </div>
+      <div class="example"><p><code>
+        &lt;Location /buggyappserver/&gt;<br />
+        <span class="indent">
+          ProxyPass http://buggyappserver:7001/foo/<br />
+          SetEnv force-proxy-request-1.0 1<br />
+          SetEnv proxy-nokeepalive 1<br />
+        </span>
+        &lt;/Location&gt;
+      </code></p></div>
 
+    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="request-bodies" id="request-bodies">リクエストボディ</a></h2>
 
-</div>
-<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="directive-section"><h2><a name="ProxyTimeout" id="ProxyTimeout">ProxyTimeout</a> <a name="proxytimeout" id="proxytimeout">ディレクティブ</a></h2>
-<table class="directive">
-<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>プロキシされたリクエストのネットワークタイムアウト</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyTimeout <var>seconds</var></code></td></tr>
-<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code><code class="directive"><a href="../mod/core.html#timeout">Timeout</a></code> の値</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
-<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
-<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">互換性:</a></th><td>Apache 2.0.31 以降で使用可能</td></tr>
-</table>
-    <p>このディレクティブはユーザがプロキシリクエストのタイムアウトを
-    指定できるようにします。これはハングしてしまうほど遅い、もしくは挙動の
-    怪しいサーバがあり、サーバがデータを返すまでひたすら待ち続けるよりも
-    タイムアウトを返してより緩やかに<span class="transnote">(<em>訳注:</em> graceful に)</span>
-    失敗させたい場合に役に立ちます。</p>
+    <p>POST メソッドなどのリクエストには、リクエストボディがあります。
+    HTTP プロトコル仕様によると、ボディのあるリクエストは chunked
+    転送を使うか、<code>Content-Length</code>
+    ヘッダを送信しなければなりません。
+    このようなリクエストをオリジンサーバに送信する場合、
+    <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> は常に <code>Content-Length</code>
+    を送ろうと試みます。しかし、ボディが大きく、オリジナルのリクエストで
+    chunked 転送が使われている場合、上流へのリクエストに
+    chunked 転送も使われます。
+    この挙動は <a href="../env.html">環境変数</a>で制御できます。
+    <code>proxy-sendcl</code> を設定すると、
+    常に <code>Content-Length</code> を送り、最大限の互換性を確保します。
+    逆に <code>proxy-sendchunked</code> を設定すると、
+    chunked エンコードを使ってリソース消費を抑えます。</p>
 
-</div>
-<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
-<div class="directive-section"><h2><a name="ProxyVia" id="ProxyVia">ProxyVia</a> <a name="proxyvia" id="proxyvia">ディレクティブ</a></h2>
-<table class="directive">
-<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>プロキシされたリクエストの <code>Via</code> HTTP レスポンスヘッダ
-により提供される情報</td></tr>
-<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>ProxyVia On|Off|Full|Block</code></td></tr>
-<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>ProxyVia Off</code></td></tr>
-<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト</td></tr>
-<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
-<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_proxy</td></tr>
-</table>
-    <p>このディレクティブはプロキシの <code>Via:</code> HTTP ヘッダの使用を
-    制御します。想定されている使い方は、プロキシサーバがいくつも繋がっているときに
-    プロキシリクエストの流れを制御することです。<code>Via:</code> ヘッダ行の
-    説明は <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a> (HTTP/1.1)
-    の 14.45 節を読んでください。</p>
+    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="x-headers" id="x-headers">リバースプロキシのリクエストヘッダ</a></h2>
 
-    <ul>
-    <li>デフォルトの <code>Off</code> に設定されていると、特別な処理は
-    行なわれません。リクエストやリプライに <code>Via:</code> ヘッダがあれば、
-    変更されずにそのまま渡します。</li>
+    <p>リバースプロキシとして振る舞う時 (例えば、<code class="directive"><a href="#proxypass">ProxyPass</a></code> ディレクティブを使う時) 、
+    <code class="module"><a href="../mod/mod_proxy_http.html">mod_proxy_http</a></code> は、オリジンサーバに情報を渡すために
+    いくつかのリクエストヘッダを追加します。これらのヘッダは以下になります。</p>
 
-    <li><code>On</code> に設定されていれば、各リクエストとリプライに
-    <code>Via:</code> 行が追加されます。</li>
+    <dl>
+      <dt><code>X-Forwarded-For</code></dt>
+      <dd>クライアントの IP アドレス。</dd>
+      <dt><code>X-Forwarded-Host</code></dt>
+      <dd>オリジナルのホスト名。クライアントが <code>Host</code>
+      リクエストヘッダで渡す。</dd>
+      <dt><code>X-Forwarded-Server</code></dt>
+      <dd>プロキシサーバのホスト名。</dd>
+    </dl>
 
-    <li><code>Full</code> に設定されていれば、<code>Via:</code> ヘッダは

[... 23 lines stripped ...]


Mime
View raw message