]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_proxy.xml.ja
Docs xforms.
[apache] / docs / manual / mod / mod_proxy.xml.ja
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
4 <!-- English Revision: 344971:1420124 (outdated) -->
5
6 <!--
7  Licensed to the Apache Software Foundation (ASF) under one or more
8  contributor license agreements.  See the NOTICE file distributed with
9  this work for additional information regarding copyright ownership.
10  The ASF licenses this file to You under the Apache License, Version 2.0
11  (the "License"); you may not use this file except in compliance with
12  the License.  You may obtain a copy of the License at
13
14      http://www.apache.org/licenses/LICENSE-2.0
15
16  Unless required by applicable law or agreed to in writing, software
17  distributed under the License is distributed on an "AS IS" BASIS,
18  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19  See the License for the specific language governing permissions and
20  limitations under the License.
21 -->
22
23 <modulesynopsis metafile="mod_proxy.xml.meta">
24
25 <name>mod_proxy</name>
26 <description>HTTP/1.1 プロキシ/ゲートウェイサーバ</description>
27 <status>Extension</status>
28 <sourcefile>mod_proxy.c</sourcefile>
29 <identifier>proxy_module</identifier>
30
31 <summary>
32     <note type="warning"><title>警告</title>
33       <p><a href="#access"
34       >サーバを安全にする</a>まで <directive module="mod_proxy"
35       >ProxyRequests</directive> は有効にしないでください。
36       オープンプロキシサーバはあなた自身のネットワークにとっても、
37       インターネット全体にとっても危険です。</p>
38     </note>
39
40     <p>このモジュールは Apache のプロキシ/ゲートウェイ機能を実装しています。
41     <code>AJP13</code> (Apache JServe Protocol version 1.3),
42     <code>FTP</code>, <code>CONNECT</code> (SSL 用),
43     <code>HTTP/0.9</code>, <code>HTTP/1.0</code>, <code>HTTP/1.1</code>
44     のプロキシ機能を実装しています。これらのプロトコルやその他のプロトコル用の
45     プロキシ機能を持った、他のモジュールに接続するようにも設定できます。</p>
46
47     <p>Apache のプロキシ機能は <module>mod_proxy</module> の他に、
48     いくつかのモジュールに分割されています:
49     <module>mod_proxy_http</module>, <module>mod_proxy_ftp</module>,
50     <module>mod_proxy_ajp</module>, <module>mod_proxy_balancer</module>, 
51     <module>mod_proxy_connect</module> です。ですから、
52     特定のプロキシの機能を使いたい場合は、<module>mod_proxy</module> <em>と</em>
53     該当するモジュールをサーバに (コンパイル時に静的に行なうか
54     <directive module="mod_so">LoadModule</directive> で動的に読み込むかして) 
55     組み込む必要があります。</p>
56
57     <p>これに加えて、他のモジュールによって拡張機能が提供されています。
58     キャッシュは <module>mod_cache</module> と関連モジュールで
59     提供されています。SSL/TLS で遠隔サーバに接続する機能は
60     <module>mod_ssl</module> の <code>SSLProxy*</code> ディレクティブで
61     提供されています。これらの機能を利用するためには、該当するモジュールを
62     組み込んで設定しなければなりません。</p>
63 </summary>
64 <seealso><module>mod_cache</module></seealso>
65 <seealso><module>mod_proxy_http</module></seealso>
66 <seealso><module>mod_proxy_ftp</module></seealso>
67 <seealso><module>mod_proxy_connect</module></seealso>
68 <seealso><module>mod_proxy_balancer</module></seealso>
69 <seealso><module>mod_ssl</module></seealso>
70
71     <section id="forwardreverse"><title>フォワードプロキシとリバースプロキシ</title>
72       <p>Apache は<dfn>フォワード</dfn>プロキシとしても、
73       <dfn>リバース</dfn>プロキシとしても設定することができます。</p>
74
75       <p>通常の<dfn>フォワードプロキシ</dfn>はクライアントと
76       <em>オリジンサーバ</em> <transnote>コンテンツ生成元のサーバ</transnote>
77       の間に位置する中間サーバです。
78       オリジンサーバからコンテンツを取得する過程では、クライアントは
79       行き先としてオリジンサーバを指定しつつプロキシにリクエストを送り、
80       プロキシはオリジンサーバからコンテンツ取得のリクエストを送り、
81       コンテンツが取得できればそれをクライアントに返します。
82       クライアントが他のサイトにフォワードプロクシ経由でアクセスするには、
83       特別にそれ用の設定をしなければなりません。</p>
84
85       <p>フォワードプロキシの一般的な使用方法は、ファイアウォールによって
86       制限されている内部のクライアントにインターネットへのアクセスを
87       提供するものです。フォワードプロキシはネットワークの使用量を
88       減らすために (<module>mod_cache</module> で提供されている) 
89       キャッシュ機能を用いることもできます。</p>
90
91       <p>フォワードプロキシは <directive
92       module="mod_proxy">ProxyRequests</directive> ディレクティブで
93       有効になります。フォワードプロキシでは、クライアントは本当の身元を
94       隠して任意のサイトにアクセスできるようになるため、フォワードプロキシを
95       有効にする前に、承認されたクライアントのみがプロキシにアクセスできるように
96       <a href="#access">サーバを安全にする</a>ことが重要です。</p>
97
98       <p>一方<dfn>リバースプロキシ</dfn>は、クライアントには普通の
99       ウェブサーバのように見えます。クライアント側に特別な設定は必要ありません。
100       クライアントはリバースプロキシの名前空間に対して通常のコンテンツへの
101       リクエストを行ないます。プロキシはリクエストをどこに送れば良いかを判定し、
102       あたかも自分自身がオリジンサーバであったかのようにクライアントに
103       コンテンツを返します。</p>
104
105       <p>リバースプロキシのよくある利用方法は、インターネットユーザに
106       ファイアウォールの中にあるサーバにアクセスを与えるというものです。
107       リバースプロキシは複数のバックエンドサーバへ負荷分散をするために
108       使ったり、遅いバックエンドエンドサーバのためにキャッシュ機能を提供したり
109       するために使えます。また、リバースプロキシは複数のサーバを
110       同じ URL 空間にまとめるために使うこともできます。</p>
111
112       <p>リバースプロキシは <directive
113       module="mod_proxy">ProxyPass</directive> ディレクティブや
114       <directive
115       module="mod_rewrite">RewriteRule</directive> ディレクティブの
116       <code>[P]</code> フラグを使うことで有効になります。リバースプロキシの
117       設定のために <directive
118       module="mod_proxy">ProxyRequests</directive> を設定する必要は
119       <em>ありません</em>。</p>
120     </section> <!-- /forwardreverse -->
121
122     <section id="examples"><title>基本の例</title>
123
124     <p>以下の例は手始めの簡単な例です。個々のディレクティブの意味は
125     それぞれの説明をお読みください。</p>
126
127     <p>またキャッシュ機能を有効にしたい場合は、<module>mod_cache</module> 
128     の説明を読んでください。</p>
129
130     <example><title>フォワードプロキシ</title>
131     ProxyRequests On<br />
132     ProxyVia On<br />
133     <br />
134     &lt;Proxy *&gt;<br />
135     <indent>
136       Order deny,allow<br />
137       Deny from all<br />
138       Allow from internal.example.com<br />
139     </indent>
140     &lt;/Proxy&gt;
141     </example>
142
143     <example><title>リバースプロキシ</title>
144     ProxyRequests Off<br />
145     <br />
146     &lt;Proxy *&gt;<br />
147     <indent>
148       Order deny,allow<br />
149       Allow from all<br />
150     </indent>
151     &lt;/Proxy&gt;<br />
152     <br />
153     ProxyPass /foo http://foo.example.com/bar<br />
154     ProxyPassReverse /foo http://foo.example.com/bar
155     </example>
156     </section> <!-- /examples -->
157
158
159     <section id="access"><title>プロキシへのアクセス制御</title>
160       <p>プロキシのアクセスは以下のように <directive
161       module="mod_proxy" type="section">Proxy</directive> コンテナの中に
162       ディレクティブを書くことで制御できます:</p>
163
164       <example>
165         &lt;Proxy *&gt;<br />
166         <indent>
167           Order Deny,Allow<br />
168           Deny from all<br />
169           Allow from 192.168.0<br />
170         </indent>
171         &lt;/Proxy&gt;
172       </example>
173
174       <p>アクセス制御のためのディレクティブのより詳しい情報は
175       <module>mod_authz_host</module> をお読みください。</p>
176
177       <p>(<directive
178       module="mod_proxy">ProxyRequests</directive> ディレクティブを
179       使って) フォワードプロキシを設定している場合は、厳しくアクセス
180       制限を行なうことが非常に大切です。そうしないと、任意のクライアントが
181       身元を明かすことなく任意のホストにアクセスするためにサーバを使うことが
182       できてしまいます。これはあなた自身のネットワークにとっても、インターネット
183       全体にとっても危険なことです。(<code>ProxyRequests Off</code> にして
184       <directive
185       module="mod_proxy">ProxyPass</directive> ディレクティブを使って)
186       リバースプロキシを使っている場合には、クライアントはあなたが明示的に
187       設定したホストにしかアクセスできないため、フォワードプロキシのとき
188       ほどアクセス制御に力を注がなくても大丈夫です。</p>
189
190     </section> <!-- /access -->
191
192     <section id="startup"><title>遅い起動</title>
193       <p><directive module="mod_proxy"
194       >ProxyBlock</directive> ディレクティブを使っている場合、
195       後のテストのために起動時にホストの
196       IP アドレスが調べられてキャッシュされます。ホスト名のルックアップの
197       速さによっては、数秒 (かそれ以上) かかるかもしれません。</p>
198     </section> <!-- /startup -->
199
200     <section id="intranet"><title>イントラネットプロキシ</title>
201       <p>イントラネットにある Apache プロキシサーバは外部へのリクエストを
202       会社のファイアウォールを通して送らなければなりません。(このためには
203       個々の <var>scheme</var> についてそれぞれ、ファイアウォールの
204       プロキシにフォワードされるように
205       <directive module="mod_proxy">ProxyRemote</directive> ディレクティブを
206       設定してください)。しかしイントラネット内のリソースにアクセスするときは、
207       ファイアウォールを通さないでもアクセスできます。
208       どのホストがイントラネットに属し、直接アクセスすべきかを指定するには、
209       <directive module="mod_proxy">NoProxy</directive> ディレクティブが
210       役に立ちます。</p>
211
212       <p>イントラネット内のユーザは WWW のリクエストでローカルドメインを
213       省略することがよくあります。<code>http://somehost.example.com/</code> 
214       というリクエストの代わりに "http://somehost/" をリクエストしたりします。
215       このようなリクエストを受け付け、サーバに設定されているローカルドメインが
216       暗黙のうちに使われていると解釈して、単純にリクエストを処理するものも
217       商用プロキシサーバの中にはあります。
218       サーバが <a
219       href="#proxyrequests">プロキシのサービス用に設定されていて</a>
220       <directive module="mod_proxy">ProxyDomain</directive> ディレクティブが
221       使用された場合には、Apache はクライアントにリダイレクト応答を送って、
222       正しい、完全な (<transnote>fully qualified</transnote>) 
223       サーバのアドレスに送ることができます。このように
224       リダイレクトすると、ユーザのブックマークが正しい完全なホスト名を含む
225       ことにもなるため、より好ましい方法と言えるでしょう。</p>
226     </section> <!-- /intranet -->
227
228     <section id="envsettings"><title>プロトコルの調整</title>
229       <p>Keepalive や HTTP/1.1 を適切に実装していないアプリケーションサーバに対して
230       <module>mod_proxy</module> がリクエストを送信する場合、
231       HTTP/1.0 を使って keepalive を無しにしてリクエストを送るようにする
232       環境変数が二つあります。これらは <directive module="mod_env"
233       >SetEnv</directive> ディレクティブで設定します。</p>
234
235       <p><code>force-proxy-request-1.0</code> と <code>proxy-nokeepalive</code>
236       がその環境変数です。</p>
237
238       <example>
239         &lt;Location /buggyappserver/&gt;<br />
240         <indent>
241           ProxyPass http://buggyappserver:7001/foo/<br />
242           SetEnv force-proxy-request-1.0 1<br />
243           SetEnv proxy-nokeepalive 1<br />
244         </indent>
245         &lt;/Location&gt;
246       </example>
247
248     </section> <!-- /envsettings -->
249
250     <section id="request-bodies"><title>リクエストボディ</title>
251
252     <p>POST メソッドなどのリクエストには、リクエストボディがあります。
253     HTTP プロトコル仕様によると、ボディのあるリクエストは chunked 
254     転送を使うか、<code>Content-Length</code>
255     ヘッダを送信しなければなりません。
256     このようなリクエストをオリジンサーバに送信する場合、
257     <module>mod_proxy_http</module> は常に <code>Content-Length</code>
258     を送ろうと試みます。しかし。ボディが大きく、オリジナルのリクエストで
259     chunked 転送が使われている場合、上流へのリクエストに
260     chunked 転送も使われます。
261     この挙動は <a href="../env.html">環境変数</a>で制御できます。
262     <code>proxy-sendcl</code> を設定すると、可能な限り常に 
263     <code>Content-Length</code> を付与して、
264     上流サーバに送信するようになります。
265     逆に <code>proxy-sendchunked</code> を設定すると、リソース消費を抑え、
266     chnked エンコードを使って送信するようになります。</p>
267
268     </section> <!-- /request-bodies -->
269
270 <directivesynopsis>
271 <name>BalancerMember</name>
272 <description>Add a member to a load balancing group</description>
273 <contextlist><context>directory</context></contextlist>
274 <usage><p>Documentation not yet translated. Please see English version of document.</p></usage>
275 </directivesynopsis>
276
277 <directivesynopsis type="section">
278 <name>Proxy</name>
279 <description>プロキシされるリソースに適用されるコンテナ</description>
280 <syntax>&lt;Proxy <var>wildcard-url</var>&gt; ...&lt;/Proxy&gt;</syntax>
281 <contextlist><context>server config</context><context>virtual host</context>
282 </contextlist>
283
284 <usage>
285     <p><directive type="section">Proxy</directive> セクション中の
286     ディレクティブはマッチするプロキシされるコンテンツにのみ適用されます。
287     シェル形式のワイルドカードが使えます。</p>
288
289     <p>例えば、次の設定は <code>yournetwork.example.com</code> の
290     ホストにのみプロキシサーバを経由したアクセスを許可します:</p>
291
292     <example>
293       &lt;Proxy *&gt;<br />
294       <indent>
295         Order Deny,Allow<br />
296         Deny from all<br />
297         Allow from yournetwork.example.com<br />
298       </indent>
299       &lt;/Proxy&gt;
300     </example>
301
302     <p>次の例は <code>example.com</code> の <code>foo</code> ディレクトリの
303     すべてのファイルに対して、プロキシサーバを通して送られたときには
304     <code>INCLUDES</code> フィルタを通して送るように設定します:</p>
305
306     <example>
307       &lt;Proxy http://example.com/foo/*&gt;<br />
308       <indent>
309         SetOutputFilter INCLUDES<br />
310       </indent>
311       &lt;/Proxy&gt;
312     </example>
313
314     
315 </usage>
316 </directivesynopsis>
317
318 <directivesynopsis>
319 <name>ProxyBadHeader</name>
320 <description>応答におかしなヘッダがある場合の扱い方を決める</description>
321 <syntax>ProxyBadHeader IsError|Ignore|StartBody</syntax>
322 <default>ProxyBadHeader IsError</default>
323 <contextlist><context>server config</context><context>virtual host</context>
324 </contextlist>
325 <compatibility>2.0.44 以降</compatibility>
326
327 <usage>
328     <p><directive>ProxyBadHeader</directive> ディレクティブは構文的に
329     間違ったヘッダ (<em>つまり</em> コロンを含まないもの) を受け取ったときに
330     <module>mod_proxy</module> がどう振る舞うかを決めます。以下の引数を
331     取ることができます:</p>
332
333     <dl>
334     <dt><code>IsError</code></dt>
335     <dd>リクエストを中止して 502 (Bad Gateway) 応答を返す。
336     これがデフォルトの動作です。</dd>
337
338     <dt><code>Ignore</code></dt>
339     <dd>間違ったヘッダ行をそもそも存在しなかったものとして扱う。</dd>
340
341     <dt><code>StartBody</code></dt>
342     <dd>間違ったヘッダ行を受け取ったら、ヘッダの読み込みを終了して、
343     それ以降の残りをボディとして扱う。これはヘッダとボディの間に空行を入れ忘れて
344     しまっているような、きちんと動作していないバックエンドサーバがあるときに、
345     問題を回避するのに役に立ちます。</dd>
346     </dl>
347 </usage>
348 </directivesynopsis>
349
350 <directivesynopsis type="section">
351 <name>ProxyMatch</name>
352 <description>正規表現でのマッチによるプロキシリソース用のディレクティブコンテナ</description>
353 <syntax>&lt;ProxyMatch <var>regex</var>&gt; ...&lt;/ProxyMatch&gt;</syntax>
354 <contextlist><context>server config</context><context>virtual host</context>
355 </contextlist>
356
357 <usage>
358     <p><directive type="section">ProxyMatch</directive> は URL のマッチに
359     <glossary ref="regex">正規表現</glossary> を用いることを除いて
360     <directive type="section">Proxy</directive> ディレクティブと同じです。</p>
361 </usage>
362 </directivesynopsis>
363
364 <directivesynopsis>
365 <name>ProxyPreserveHost</name>
366 <description>プロキシリクエストに、受け付けた Host HTTP ヘッダを使う</description>
367 <syntax>ProxyPreserveHost On|Off</syntax>
368 <default>ProxyPreserveHost Off</default>
369 <contextlist><context>server config</context><context>virtual host</context>
370 </contextlist>
371 <compatibility>Apache 2.0.31 以降で使用可能</compatibility>
372
373 <usage>
374     <p>このオプションが有効になっている場合、<directive>ProxyPass</directive>
375     で指定したホスト名の代わりに、受け付けたリクエストの Host: 行を
376     プロキシ先のホストに送ります。</p>
377
378     <p>このオプションは通常は <code>Off</code> に設定してください。
379     ほとんどの場合、これは大量の名前ベースのバーチャルホスティングを行なっていて、
380     元々の Host ヘッダをバックエンドサーバが解釈する必要のあるときのような、
381     特別な設定が必要な場合にのみ有用です。</p>
382 </usage>
383 </directivesynopsis>
384
385 <directivesynopsis>
386 <name>ProxyRequests</name>
387 <description>フォワード (標準の) プロキシリクエストを有効にする</description>
388 <syntax>ProxyRequests On|Off</syntax>
389 <default>ProxyRequests Off</default>
390 <contextlist><context>server config</context><context>virtual host</context>
391 </contextlist>
392
393 <usage>
394     <p>これは Apache のフォワードプロキシサーバとしての動作を
395     有効もしくは無効にします。(ProxyRequests を <code>Off</code> に
396     設定しても、<directive module="mod_proxy">ProxyPass</directive> 
397     の設定は無効になりません。)</p>
398
399     <p>通常のリバースプロキシの設定では、このオプションは <code>Off</code>
400     に設定してください。</p>
401
402     <p>HTTP や FTP サイトへのプロキシの機能を有効にしたい場合は、
403     <module>mod_proxy_http</module> や <module>mod_proxy_ftp</module> が
404     サーバに組み込まれていなければなりません。</p>
405
406     <note type="warning"><title>警告</title>
407       <p><a href="#access"
408       >サーバを安全にする</a>まで <directive module="mod_proxy"
409       >ProxyRequests</directive> は有効にしないでください。
410       オープンプロキシサーバはあなた自身のネットワークにとっても、
411       インターネット全体にとっても危険です。</p>
412     </note>
413 </usage>
414 </directivesynopsis>
415
416 <directivesynopsis>
417 <name>ProxyRemote</name>
418 <description>特定のリクエストを扱う時に使われるリモートプロキシを指定する</description>
419 <syntax>ProxyRemote <var>match</var> <var>remote-server</var></syntax>
420 <contextlist><context>server config</context><context>virtual host</context>
421 </contextlist>
422
423 <usage>
424     <p>このディレクティブはこのプロキシに対するリモートプロキシを定義します。
425     <var>match</var> はリモートサーバがサポートする URL スキーム、
426     リモートサーバが使うはずの URL の一部分、サーバがすべての
427     リクエストに使われることを示す <code>*</code> のどれかになります。
428     <var>remote-server</var> はリモートサーバの部分 URL です。構文:</p>
429
430     <example>
431       <dfn>remote-server</dfn> =
432           <var>scheme</var>://<var>hostname</var>[:<var>port</var>]
433     </example>
434
435     <p><var>scheme</var> は実際上リモートサーバとの通信に使われるプロトコルを
436     決定します。このモジュールでは <code>http</code> だけがサポートされて
437     います。</p>
438
439     <example><title>例</title>
440       ProxyRemote http://goodguys.com/ http://mirrorguys.com:8000<br />
441       ProxyRemote * http://cleversite.com<br />
442       ProxyRemote ftp http://ftpproxy.mydomain.com:8080
443     </example>
444
445     <p>この例では、プロキシは FTP リクエストを別の HTTP リクエストで包んで
446     そのようなリクエストを扱える別のプロキシに転送します。</p>
447
448     <p>このオプションはリバースプロキシの設定もサポートします。
449     サーバが別のフォワードプロキシの後ろに隠されている場合でも
450     バックエンドウェブサーバをバーチャルホストの URL 空間に入れることが
451     できます。</p>
452 </usage>
453 </directivesynopsis>
454
455 <directivesynopsis>
456 <name>ProxyRemoteMatch</name>
457 <description>正規表現でのマッチによるリクエストを扱うリモートプロキシの指定</description>
458 <syntax>ProxyRemoteMatch <var>regex</var> <var>remote-server</var></syntax>
459 <contextlist><context>server config</context><context>virtual host</context>
460 </contextlist>
461
462 <usage>
463     <p><directive>ProxyRemoteMatch</directive> は最初の引数がリクエストされた
464     URL にマッチする<glossary ref="regex">正規表現</glossary>であることを除けば <directive
465     module="mod_proxy">ProxyRemote</directive> ディレクティブと同じです。</p>
466 </usage>
467 </directivesynopsis>
468
469 <directivesynopsis>
470 <name>ProxySet</name>
471 <description>Set various Proxy balancer or member parameters</description>
472 <contextlist><context>directory</context></contextlist>
473 <usage><p>Documentation not yet translated. Please see English version of document.</p></usage>
474 </directivesynopsis>
475
476 <directivesynopsis>
477 <name>ProxyStatus</name>
478 <description>Show Proxy LoadBalancer status in mod_status</description>
479 <contextlist><context>server config</context><context>virtual host</context></contextlist>
480 <usage><p>Documentation not yet translated. Please see English version of document.</p></usage>
481 </directivesynopsis>
482
483 <directivesynopsis>
484 <name>ProxyPass</name>
485 <description>リモートサーバをローカルサーバの URL 空間にマップする</description>
486 <syntax>ProxyPass [<var>path</var>] !|<var>url</var> [<var>key=value</var> <var>key=value</var> ...]]</syntax>
487 <contextlist><context>server config</context><context>virtual host</context>
488 <context>directory</context>
489 </contextlist>
490
491 <usage>
492     <p>このディレクティブはリモートサーバをローカルサーバの名前空間に
493     マップできるようにします。ローカルサーバは通常の意味でのプロキシと
494     しては動作せず、リモートサーバのミラーとして振る舞います。
495     <var>path</var> はローカルの仮想パスの名前です。<var>url</var> は
496     リモートサーバの部分 URL になり、クエリー文字列を含むことはできません。</p>
497
498     <note type="warning"><directive>ProxyPass</directive> ディレクティブを
499     使っているときは <directive
500     module="mod_proxy">ProxyRequests</directive> ディレクティブは通常は
501     <strong>off</strong> に設定されているべきです。</note>
502
503     <p>ローカルサーバのアドレスが <code>http://example.com/</code> であると
504     します。すると、</p>
505
506     <example>
507       ProxyPass /mirror/foo/ http://backend.example.com/
508     </example>
509
510     <p>と設定すると <code>http://example.com/mirror/foo/bar</code> への
511     リクエストが内部的に <code>http://backend.example.com/bar</code> への
512     プロキシリクエストに変換されることになります。</p>
513
514     <p>サブディレクトリをリバースプロキシしたくないときに <code>!</code> は
515     役に立ちます。<em>例えば</em>、</p>
516
517     <example>
518       ProxyPass /mirror/foo/i !<br />
519       ProxyPass /mirror/foo http://backend.example.com
520     </example>
521
522     <p>は <code>/mirror/foo/i</code> を<em>除く</em>
523     <code>/mirror/foo</code> へのすべてのリクエストを
524     <code>backend.example.com</code> にプロキシします。</p>
525
526     <note><title>注</title>
527       <p>順番は重要です。一般的な <directive>ProxyPass</directive>
528       ディレクティブの<em>前に</em>
529       除外ディレクティブを置く必要があります。</p>
530     </note>
531
532     <p>2.1 の機能で、バックエンドサーバとの接続にプールされたコネクションを
533     使えるようになりました。<code>key=value</code> 形式のパラメータで
534     このコネクションプーリングの調整ができます。<code>Hard Maximum</code> 
535     のデフォルト値は、有効になっている MPM でのプロセス当たりのスレッド数と
536     同じ数のコネクション数です。prefork MPM では通常は 1 で、worker MPM では
537     <directive>ThreadsPerChild</directive> で調整されます。</p>
538
539     <p><code>min</code> の設定で、バックエンドサーバとの間に何本のコネクションを
540     常時開くかが決まります。Soft Maximum <code>smax</code> の数に
541     達するまで必要に応じてコネクションは生成されます。<code>smax</code>
542     を超えた数のコネクションは、生存時間 <code>ttl</code> で切断されます。
543     バックエンドサーバと Hard Maximum <code>max</code> の数以上のコネクションを
544     生成することはありません。</p>
545
546     <example>
547         ProxyPass /example http://backend.example.com smax=5 max=20 ttl=120 retry=300
548     </example>
549
550     <table>
551     <tr><th>パラメータ</th>
552         <th>デフォルト値</th>
553         <th>説明</th></tr>
554     <tr><td>min</td>
555         <td>0</td>
556         <td>バックエンドサーバとの接続で
557             常に開いているコネクション数の最小値</td></tr>
558     <tr><td>max</td>
559         <td>1...n</td>
560         <td>バックエンドサーバとの接続数の Hard Maximum
561         <transnote>ハードリミット</transnote>。
562         デフォルト値は、使用している MPM のプロセスあたりのスレッド数になっています。
563         Prefork MPM では常に 1 で、Worker MPM では <directive>ThreadsPerChild</directive>
564         で調節できます。Hard Maximum 以上にバックエンドサーバとのコネクションを
565         生成することはありません。</td></tr>
566     <tr><td>smax</td>
567         <td>max</td>
568         <td>接続数の Soft Maximum <transnote>ソフトリミット</transnote>まで、
569         コネクションは必要に応じて生成されます。
570         <code>smax</code> を超えた数のコネクションは生存時間 <code>ttl</code>
571         で切断されます。
572     </td></tr>
573     <tr><td>ttl</td>
574         <td>-</td>
575         <td><code>smax</code> 数を超えた非活動状態のコネクションの生存時間を、
576         秒で指定します。この期間内に使用されなかったコネクションは、
577         全て閉じられます。
578     </td></tr>
579     <tr><td>timeout</td>
580         <td><directive>Timeout</directive></td>
581         <td>コネクションタイムアウトを秒で指定します。特に指定されなければ、
582         フリーなコネクションを取得できるまで待ちます。このディレクティブは
583         <code>max</code> パラメータと合わせて使うことで、バックエンドサーバとの
584         接続数を制御するのに使います。
585     </td></tr>
586     <tr><td>acquire</td>
587         <td>-</td>
588         <td>設定すると、コネクションプールからフリーのコネクションを取得するために
589         待機する待ち時間の最大値になります。フリーのコネクションがプールになかった場合は、
590         <code>SERVER_BUSY</code> ステータスがクライアントに返されます。
591     </td></tr>
592     <tr><td>keepalive</td>
593         <td>Off</td>
594         <td>バックエンドサーバと Apache の間にファイアーウォールがある場合には、
595         このパラメータを使ってください。ファイアウォールは往々にして、
596         非活動状態のコネクションを落とそうとします。
597         このフラグは OS に指示して、<code>KEEP_ALIVE</code> メッセージを非活動状態の
598         コネクションでも送るようにします (間隔は OS のグローバル設定に依存し、
599         通常は 120ms 間隔) 。これによってファイアウォールによってコネクションが
600         落とされることを防げます。keepalive を有効にするには、このプロパティを
601         <code>On</code> にしてください。
602     </td></tr>
603     <tr><td>retry</td>
604         <td>60</td>
605         <td>コネクションをプーリングするための、リトライのタイムアウトを秒で
606         指定します。バックエンドサーバへのコネクションプーリングが失敗した場合は、
607         タイムアウトの期間が過ぎるまで、そのサーバにリクエストをフォワードしません。
608         この機能を使うと、バックエンドサーバをメンテナンスのためにシャットダウンし、
609         後でオンラインに復帰させるといったことができます。
610     </td></tr>
611     <tr><td>loadfactor</td>
612         <td>1</td>
613         <td>ワーカーあたりの負荷係数です。BalancerMember で使います。
614         1 から 100 までの数字でそのワーカーに対する正規化された負荷率を指定します。
615     </td></tr>
616     <tr><td>route</td>
617         <td>-</td>
618         <td>ロードバランサで使った場合、ワーカーのルーティングをします。
619         ルートはセッション ID に付加された値になります。
620     </td></tr>
621     <tr><td>redirect</td>
622         <td>-</td>
623         <td>ワーカーのリダイレクション経路です。この値は通常は、
624         安全にクラスタからノードを取り去る設定を動的に入れるために使います。
625         セッション ID の無いリクエスト全てを指定した場合は、
626         この値と同じルーティングパラメータを持つ 
627         BalancerMember にリダイレクトされます。
628     </td></tr>
629
630     </table>
631
632     <p>Proxy ディレクティブのスキームが <code>balancer://</code> になっている場合は、
633     バックエンドサーバと実際には通信しない仮想ワーカーが生成されます。
634     このワーカーは幾つかの "本物の" ワーカーの管理をつかさどります。
635     この場合パラメータは、この仮想ワーカーに対して設定されます。
636     </p>
637     <table>
638     <tr><th>パラメータ</th>
639         <th>デフォルト値</th>
640         <th>説明</th></tr>
641     <tr><td>lbmethod</td>
642         <td>-</td>
643         <td>Balancer のロードバランス方法。使用するロードバランスの
644         スケジューリング方法を選びます。処理したリクエストの数で重み付けする
645         <code>byrequests</code> か、転送量のバイト数で重み付けする
646         <code>bytraffic</code> を設定できます。デフォルトは
647         <code>byrequests</code> です。
648     </td></tr>
649     <tr><td>stickysession</td>
650         <td>-</td>
651         <td>バランサーのスティッキーセッション名です。通常はこの値は <code>JSESSIONID</code>
652         や <code>PHPSESSIONID</code> といったものになりますが、この値は
653         バックエンドアプリケーションのサポートするセッションに依存します。
654     </td></tr>
655     <tr><td>nofailover</td>
656         <td>Off</td>
657         <td><code>On</code> になっていると、ワーカーがエラーを起こしたり
658         無効になっている場合にセッションが切れます。
659         バックエンドサーバがセッションレプリケーションをサポートしていない場合は、
660         On にしてください。
661     </td></tr>
662     <tr><td>timeout</td>
663         <td>0</td>
664         <td>バランサーのタイムアウトを秒で指定します。
665         この値を設定すると、フリーのワーカーを取得するまでの最大待機時間になります。
666         デフォルトでは待機しません。
667     </td></tr>
668     <tr><td>maxattempts</td>
669         <td>1</td>
670         <td>フェイルオーバーを試みる最大の回数を指定します。
671     </td></tr>
672     
673     </table>
674     <example>
675       ProxyPass /special-area http://special.example.com/ smax=5 max=10<br />
676       ProxyPass / balancer://mycluster stickysession=jsessionid nofailover=On<br />
677       &lt;Proxy balancer://mycluster&gt;<br />
678       <indent>
679         BalancerMember http://1.2.3.4:8009<br />
680         BalancerMember http://1.2.3.5:8009 smax=10<br />
681         # Less powerful server, don't send as many requests there<br />
682         BalancerMember http://1.2.3.6:8009 smax=1 loadfactor=20<br />
683       </indent>
684       &lt;/Proxy&gt;
685     </example>
686
687     <p><directive type="section" module="core"
688     >Location</directive> セクションの中で使われた場合、最初の引数は
689     省略され、ローカルディレクトリは <directive type="section" module="core"
690     >Location</directive> から取得されます。</p>
691
692     <p>より柔軟なリバースプロキシの設定が必要な場合は、<code>[P]</code>
693     フラグ付きの <directive module="mod_rewrite">RewriteRule</directive>
694     ディレクティブを参照してください。</p>
695 </usage>
696 </directivesynopsis>
697
698 <directivesynopsis>
699 <name>ProxyPassInterpolateEnv</name>
700 <description>Enable Environment Variable interpolation in Reverse Proxy configurations</description>
701 <contextlist><context>server config</context><context>virtual host</context><context>directory</context></contextlist>
702 <usage><p>Documentation not yet translated. Please see English version of document.</p></usage>
703 </directivesynopsis>
704
705 <directivesynopsis>
706 <name>ProxyPassMatch</name>
707 <description>Maps remote servers into the local server URL-space using regular expressions</description>
708 <contextlist><context>server config</context><context>virtual host</context><context>directory</context></contextlist>
709 <usage><p>Documentation not yet translated. Please see English version of document.</p></usage>
710 </directivesynopsis>
711
712 <directivesynopsis>
713 <name>ProxyPassReverse</name>
714 <description>リバースプロキシされたサーバから送られた HTTP 応答ヘッダの
715 URL を調整する</description>
716 <syntax>ProxyPassReverse [<var>path</var>] <var>url</var></syntax>
717 <contextlist><context>server config</context><context>virtual host</context>
718 <context>directory</context>
719 </contextlist>
720
721 <usage>
722     <p>このディレクティブは Apache に HTTP リダイレクト応答の
723     <code>Location</code>, <code>Content-Location</code>, <code>URI</code>
724     ヘッダの調整をさせます。これは、Apache がリバースプロキシとして使われている
725     ときに、リバースプロキシを通さないでアクセスすることを防ぐために
726     重要です。これによりバックエンドサーバの HTTP リダイレクトが
727     リバースプロキシとバックエンドの間で扱われるようになります。</p>
728
729     <p>ディレクティブで明示されている HTTP 応答ヘッダのみが書き換えられます。
730     Apache は他の応答ヘッダを書き換えたり、HTML ページの中の URL 参照を
731     書き換えたりすることはありません。HTML の中を見て、URL 参照を書き換える
732     モジュールに Nick Kew さんの <a
733     href="http://apache.webthing.com/mod_proxy_html/"
734     >mod_proxy_html</a> があります。</p>
735
736     <p><var>path</var> はローカル仮想パスの名前です。<var>url</var> は
737     リモートサーバの部分 URL です。これらは <directive module="mod_proxy"
738     >ProxyPass</directive> ディレクティブと同様です。</p>
739
740     <p>例えば、ローカルサーバのアドレスが <code>http://example.com/</code>
741     だとします。すると</p>
742
743     <example>
744       ProxyPass         /mirror/foo/ http://backend.example.com/<br />
745       ProxyPassReverse  /mirror/foo/ http://backend.example.com/<br />
746       ProxyPassReverseCookieDomain  backend.example.com  public.example.com<br />
747       ProxyPassReverseCookiePath  /  /mirror/foo/
748     </example>
749
750     <p>という設定をすると、<code>http://example.com/mirror/foo/bar</code>
751     へのローカルリクエストが <code>http://backend.example.com/bar</code>
752     へのプロキシリクエストに内部でリダイレクトされるだけではありません
753     (これは <code>ProxyPass</code> の機能です)。<code>backend.example.com</code>
754     が送るリダイレクトの面倒もみます。<code>http://backend.example.com/bar</code>
755     が <code>http://backend.example.com/quux</code> にリダイレクトされたとき、
756     Apache は HTTP リダイレクト応答をクライアントに送る前に、
757     <code>http://example.com/mirror/foo/quux</code> に変更します。
758     URL を構成するのに使われるホスト名は <directive
759     module="core">UseCanonicalName</directive> の設定に応じて選択されることに
760     注意してください。</p>
761
762     <p><directive>ProxyPassReverse</directive> ディレクティブは
763     対応する <directive module="mod_proxy"
764     >ProxyPass</directive> ディレクティブには依存しないため、
765     <module>mod_rewrite</module> のプロキシ通過機能
766     (<code>RewriteRule ...  [P]</code>) と併せて使用することができます。</p>
767
768     <p><directive type="section" module="core"
769     >Location</directive> セクションの中で使われた場合は、
770     最初の引数は省略され、ローカルディレクトリは <directive
771     type="section" module="core">Location</directive> から取得されます。</p>
772 </usage>
773 </directivesynopsis>
774
775 <directivesynopsis>
776 <name>ProxyPassReverseCookieDomain</name>
777 <description>リバースプロキシサーバからの Set-Cookie ヘッダの Domain 文字列を
778 調整する</description>
779 <syntax>ProxyPassReverseCookieDomain <var>internal-domain</var> <var>public-domain</var></syntax>
780 <contextlist><context>server config</context><context>virtual host</context>
781 <context>directory</context>
782 </contextlist>
783 <usage>
784 <p>使用法は基本的に
785 <directive module="mod_proxy">ProxyPassReverse</directive> と同じですが、
786 ヘッダの URL の代わりに <code>Set-Cookie</code> ヘッダの
787 <code>domain</code> 文字列を書き換えます。</p>
788 </usage>
789 </directivesynopsis>
790
791 <directivesynopsis>
792 <name>ProxyPassReverseCookiePath</name>
793 <description>Reverse プロキシサーバからの Set-Cookie ヘッダの Path 文字列を
794 調整する</description>
795 <syntax>ProxyPassReverseCookiePath <var>internal-path</var> <var>public-path</var></syntax>
796 <contextlist><context>server config</context><context>virtual host</context>
797 <context>directory</context>
798 </contextlist>
799 <usage>
800 <p>使用法は基本的に
801 <directive module="mod_proxy">ProxyPassReverse</directive> と同じですが、
802 ヘッダの URL の代わりに <code>Set-Cookie</code> ヘッダの
803 <code>path</code> 文字列を書き換えます。</p>
804 </usage>
805 </directivesynopsis>
806
807
808 <directivesynopsis>
809 <name>AllowCONNECT</name>
810 <description>プロキシを経由して、どのポートに <code>CONNECT</code>
811 できるかを指定する</description>
812 <syntax>AllowCONNECT <var>port</var> [<var>port</var>] ...</syntax>
813 <default>AllowCONNECT 443 563</default>
814 <contextlist><context>server config</context><context>virtual host</context>
815 </contextlist>
816
817 <usage>
818     <p><directive>AllowCONNECT</directive> はプロキシの <code>CONNECT</code>
819     メソッドが接続を許可するポート番号のリストを指定します。
820     今日のブラウザは、<code>https</code> コネクションが要求されていて、
821     HTTP 上でのプロキシによるトンネリングができるときに、
822     このメソッドを使います。</p>
823
824     <p>デフォルトの設定では、https のデフォルトポート (<code>443</code>) と
825     デフォルトの snews ポート (<code>563</code>) が有効になっています。
826     このデフォルトを上書きして、リストに記載したポートにのみ接続を許可したい場合、
827     <directive>AllowCONNECT</directive> ディレクティブを使用します。</p>
828
829     <p><code>CONNECT</code> を使用するには、<module>mod_proxy_connect</module> 
830     がサーバに組み込まれていなければならないことに注意してください。</p>
831 </usage>
832 </directivesynopsis>
833
834 <directivesynopsis>
835 <name>ProxyBlock</name>
836 <description>プロキシ接続を禁止する語句、ホスト名、ドメインを指定する</description>
837 <syntax>ProxyBlock *|<var>word</var>|<var>host</var>|<var>domain</var>
838 [<var>word</var>|<var>host</var>|<var>domain</var>] ...</syntax>
839 <contextlist><context>server config</context><context>virtual host</context>
840 </contextlist>
841
842 <usage>
843     <p><directive>ProxyBlock</directive> ディレクティブは空白で区切られた
844     語句、ホスト名、ドメインのリストを指定します。サイト名にその語句、ホスト名、
845     ドメインを含むサイトへの HTTP、HTTPS、FTP によるドキュメントのリクエストは
846     プロキシサーバにより<em>ブロックされます</em>。プロキシモジュールは
847     起動時にホスト名と思しき項目の IP アドレスを調べ、後のテストのために
848     キャッシュします。これにより、サーバの起動が少し遅くなるかもしれません。</p>
849
850     <example><title>Example</title>
851       ProxyBlock joes-garage.com some-host.co.uk rocky.wotsamattau.edu
852     </example>
853
854     <p><code>rocky.wotsamattau.edu</code> が IP アドレスで参照されたときでも
855     マッチします。</p>
856
857     <p><code>wotsamattau.edu</code> のマッチには <code>wotsamattau</code>
858     だけでも十分です。</p>
859
860     <example>
861       ProxyBlock *
862     </example>
863
864     <p>はすべてのサイトへの接続をブロックすることに注意してください。</p>
865 </usage>
866 </directivesynopsis>
867
868 <directivesynopsis>
869 <name>ProxyReceiveBufferSize</name>
870 <description>プロキシされる HTTP と FTP 接続のためのネットワークバッファサイズ</description>
871 <syntax>ProxyReceiveBufferSize <var>bytes</var></syntax>
872 <default>ProxyReceiveBufferSize 0</default>
873 <contextlist><context>server config</context><context>virtual host</context>
874 </contextlist>
875
876 <usage>
877     <p><directive>ProxyReceiveBufferSize</directive> ディレクティブは
878     スループットを上げるために明示的に (TCP/IP) ネットワークバッファのサイズを
879     設定します。値は <code>512</code> 以上か、システムのデフォルトのバッファ
880     サイズを意味する <code>0</code> でなければなりません。</p>
881
882     <example><title>例</title>
883       ProxyReceiveBufferSize 2048
884     </example>
885 </usage>
886 </directivesynopsis>
887
888 <directivesynopsis>
889 <name>ProxyIOBufferSize</name>
890 <description>内部データスループットバッファのサイズを決定する</description>
891 <syntax>ProxyIOBufferSize <var>bytes</var></syntax>
892 <default>ProxyIOBufferSize 8192</default>
893 <contextlist><context>server config</context><context>virtual host</context>
894 </contextlist>
895
896 <usage>
897     <p><directive>ProxyIOBufferSize</directive> ディレクティブは入力と
898     出力用の一時メモリとして使われる内部バッファのサイズを調整します。
899     サイズは <code>8192</code> 以下でなければなりません。</p>
900
901     <p>ほとんどすべての場合、この値を変更する理由はありません。</p>
902 </usage>
903 </directivesynopsis>
904
905 <directivesynopsis>
906 <name>ProxyMaxForwards</name>
907 <description>リクエストがフォワードされるプロキシの最大数</description>
908 <syntax>ProxyMaxForwards <var>number</var></syntax>
909 <default>ProxyMaxForwards 10</default>
910 <contextlist><context>server config</context><context>virtual host</context>
911 </contextlist>
912 <compatibility>Apache 2.0 以降で使用可能</compatibility>
913
914 <usage>
915     <p><directive>ProxyMaxForwards</directive> ディレクティブは
916     リクエストに <code>Max-Forwards</code> ヘッダが指定されていない場合に
917     リクエストが通過可能なプロキシの最大数を設定します。これは
918     プロキシの無限ループや DoS 攻撃を防ぐために設定されています。</p>
919
920     <example><title>例</title>
921       ProxyMaxForwards 15
922     </example>
923 </usage>
924 </directivesynopsis>
925
926 <directivesynopsis>
927 <name>NoProxy</name>
928 <description>直接接続する ホスト、ドメイン、ネットワーク</description>
929 <syntax>NoProxy <var>host</var> [<var>host</var>] ...</syntax>
930 <contextlist><context>server config</context><context>virtual host</context>
931 </contextlist>
932
933 <usage>
934     <p>このディレクティブはイントラネット中の Apache プロキシサーバにのみ
935     有用です。<directive>NoProxy</directive> ディレクティブは空白区切りで、
936     サブネット、IP アドレス、ホスト、ドメインのリストを指定します。
937     これらのどれかにマッチするホストへのリクエストは <directive
938     module="mod_proxy">ProxyRemote</directive> で設定されたプロキシサーバに
939     フォワードされず、直接処理されます。</p>
940
941     <example><title>例</title>
942       ProxyRemote  *  http://firewall.mycompany.com:81<br />
943       NoProxy         .mycompany.com 192.168.112.0/21
944     </example>
945
946     <p><directive>NoProxy</directive> ディレクティブの <var>host</var> 引数は
947     以下の種類のどれかです:</p>
948
949     <dl>
950     <!-- ===================== Domain ======================= -->
951     <dt><var><a name="domain" id="domain">Domain</a></var></dt>
952     <dd>
953     <p><dfn>Domain</dfn> は先頭にピリオドの着いた部分 DNS ドメイン名です。
954     同一 DNS ドメイン及びゾーン (<em>すなわち</em>、ホスト名の末尾がすべて
955     <var>Domain</var> で終わっているということ) に属するホストのリストを
956     表します)。</p>
957
958     <example><title>例</title>
959       .com .apache.org.
960     </example>
961
962     <p><var>Domain</var> を <a href="#hostname"
963     >Hostname</a> と区別するために (意味的にも構文的にも。DNS ドメインも
964     DNS の A レコードを持つことができるのです!)、<var>Domain</var> は
965     常にピリオドで始まります。</p>
966     
967     <note><title>注</title>
968       <p>ドメイン名の比較は大文字小文字を区別せずに行なわれ、<var>Domain</var>
969       は常に DNS ツリーのルートから始まるものとみなされます。ですから、
970       次の二つのドメイン <code>.MyDomain.com</code> と
971       <code>.mydomain.com.</code> (最後のピリオドに注目) は同一であると
972       みなされます。ドメインの比較は DNS ルックアップなしで行なわれるため、
973       サブネットの比較よりもずっと効率的です。</p>
974     </note></dd>
975
976     <!-- ===================== SubNet ======================= -->
977     <dt><var><a name="subnet" id="subnet">SubNet</a></var></dt>
978     <dd>
979     <p><dfn>SubNet</dfn> は数値形式 (ドットで区切られた四つの数字) の
980     部分インターネットアドレスです。後にスラッシュと <var>Subnet</var>
981     の意味のあるビット数を指定するネットマスクとを続けることができます。
982     共通のネットワークインタフェースを使って到達することのできるサブネットを
983     表すために使われます。明示的にネットマスクを指定しない場合は
984     最後の省略された (もしくは値が 0 の) 数字がマスクを指定します。
985     (この場合は、ネットマスクは 8 ビット単位でしか指定できません。)
986     例:</p>
987
988     <dl>
989     <dt><code>192.168</code> もしくは <code>192.168.0.0</code></dt>
990     <dd>サブネット 192.168.0.0 と暗黙の 16 ビット有効なネットマスク
991     (<code>255.255.0.0</code> というネットマスクの形式で使われることも
992     あります)</dd>
993     <dt><code>192.168.112.0/21</code></dt>
994     <dd>サブネット<code>192.168.112.0/21</code> と 21 ビット有効な
995     ネットマスク (<code>255.255.248.0</code> という形式で使われることも
996     あります)</dd>
997     </dl>
998
999     <p>特別な場合に、32 ビット有効な <em>SubNet</em> は
1000     <var><a href="#ipadr">IPAddr</a></var> と同等で、
1001     0 ビット有効な <var>SubNet</var> (<em>例えば</em>、0.0.0.0/0) は
1002     すべての IP アドレスにマッチする定数 <var>_Default_</var> と同じです。</p>
1003     </dd>
1004
1005     <!-- ===================== IPAddr ======================= -->
1006     <dt><var><a name="ipaddr" id="ipaddr">IPAddr</a></var></dt>
1007     <dd>
1008     <p><dfn>IPAddr</dfn> は数値形式 (ドットで区切られた四つの数字) の
1009     完全インターネットアドレスです。通常はこのアドレスはホストを
1010     表しますが、必ずしもアドレスに対応する DNS ドメイン名があるわけでは
1011     ありません。</p>
1012
1013     <example><title>例</title>
1014       192.168.123.7
1015     </example>
1016     
1017     <note><title>注</title>
1018       <p><var>IPAddr</var> は DNS システムにより解決される必要がないので、
1019       apache の性能が向上するかもしれません。</p>
1020     </note></dd>
1021
1022     <!-- ===================== Hostname ======================= -->
1023     <dt><var><a name="hostname" id="hostname">Hostname</a></var></dt>
1024     <dd>
1025     <p><dfn>Hostname</dfn> は DNS ドメインサービスにより一つもしくは
1026     複数の <var><a href="#ipaddr">IPAddr</a></var> に解決可能な
1027     完全な DNS ドメイン名です。これは (<var><a href="#domain">Domain</a></var>
1028     と違って、説明は上記を参照) 論理的なホストを表し、少くとも一つの
1029     <var><a href="#ipaddr">IPAddr</a></var> (もしくは違う
1030     <var><a href="#ipaddr">IPAddr</a></var> のホストのリスト) に解決
1031     されなければなりません)。</p>
1032
1033     <example><title>例</title>
1034       prep.ai.mit.edu<br />
1035       www.apache.org
1036     </example>
1037
1038     <note><title>注</title>
1039       <p>多くの場合、<var>Hostname</var> の代わりに <var><a
1040       href="#ipaddr">IPAddr</a></var> を指定した方が、DNS ルックアップを
1041       避けることができるため、効率が良くなります。Apache の名前解決は
1042       ネームサーバへの接続が遅い PPP 上の場合などにかなり時間を取られる
1043       ことがあります。</p>
1044       <p><var>Hostname</var> の比較は大文字小文字を区別せずに行なわれ、
1045       <var>Hostname</var> は常に DNS ツリーのルートから始まるものとみなされます。
1046       ですから、二つのドメイン <code>WWW.MyDomain.com</code> と
1047       <code>www.mydomain.com.</code> (最後のピリオドに注目) は同一であると
1048       みなされます。</p>
1049      </note></dd>
1050     </dl>
1051 </usage>
1052 <seealso><a href="../dns-caveats.html">DNS に関する問題</a></seealso>
1053 </directivesynopsis>
1054
1055 <directivesynopsis>
1056 <name>ProxyTimeout</name>
1057 <description>プロキシされたリクエストのネットワークタイムアウト</description>
1058 <syntax>ProxyTimeout <var>seconds</var></syntax>
1059 <default>ProxyTimeout 300</default>
1060 <contextlist><context>server config</context><context>virtual host</context>
1061 </contextlist>
1062 <compatibility>Apache 2.0.31 以降で使用可能</compatibility>
1063
1064 <usage>
1065     <p>このディレクティブはユーザがプロキシリクエストのタイムアウトを
1066     指定できるようにします。これはハングしてしまう遅い、もしくは挙動の
1067     怪しいサーバがあり、サーバがデータを返すまでひたすら待ち続けるよりも
1068     タイムアウトを返してより緩やかに<transnote>graceful に</transnote>
1069     失敗させたい場合に役に立ちます。</p>
1070 </usage>
1071 </directivesynopsis>
1072
1073 <directivesynopsis>
1074 <name>ProxyDomain</name>
1075 <description>プロキシされたリクエストのデフォルトのドメイン名</description>
1076 <syntax>ProxyDomain <var>Domain</var></syntax>
1077 <contextlist><context>server config</context><context>virtual host</context>
1078 </contextlist>
1079
1080 <usage>
1081     <p>このディレクティブはイントラネット内の Apache プロキシサーバにのみ
1082     有用です。<directive>ProxyDomain</directive> ディレクティブは
1083     apache プロキシサーバが属するデフォルトのドメインを指定します。
1084     ドメイン名の無いリクエストを受けた場合、設定された <var>Domain</var>
1085     が追加された同じホストへのリダイレクト応答が返されます。</p>
1086
1087     <example><title>例</title>
1088       ProxyRemote  *  http://firewall.mycompany.com:81<br />
1089       NoProxy         .mycompany.com 192.168.112.0/21<br />
1090       ProxyDomain     .mycompany.com
1091     </example>
1092 </usage>
1093 </directivesynopsis>
1094
1095 <directivesynopsis>
1096 <name>ProxyVia</name>
1097 <description>プロキシされたリクエストの <code>Via</code> HTTP 応答ヘッダ
1098 により提供される情報</description>
1099 <syntax>ProxyVia On|Off|Full|Block</syntax>
1100 <default>ProxyVia Off</default>
1101 <contextlist><context>server config</context><context>virtual host</context>
1102 </contextlist>
1103
1104 <usage>
1105     <p>このディレクティブはプロキシの <code>Via:</code> HTTP ヘッダの使用を
1106     制御します。想定されている使い方は、プロキシサーバがいくつも繋がっているときに
1107     プロキシリクエストの流れを制御することです。<code>Via:</code> ヘッダ行の
1108     説明は <a
1109     href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a> (HTTP/1.1)
1110     の 14.45 節を読んでください。</p>
1111
1112     <ul>
1113     <li>デフォルトの <code>Off</code> に設定されていると、特別な処理は
1114     行なわれません。リクエストやリプライに <code>Via:</code> ヘッダがあれば、
1115     変更されずにそのまま渡します。</li>
1116
1117     <li><code>On</code> に設定されていれば、各リクエストとリプライに
1118     <code>Via:</code> 行が追加されます。</li>
1119
1120     <li><code>Full</code> に設定されていれば、<code>Via:</code> ヘッダは
1121     コメント部分に Apache サーバのバージョンも含むようになります。</li>
1122
1123     <li><code>Block</code> に設定されていれば、すべてのプロキシリクエストから
1124     <code>Via:</code> ヘッダが取り除かれます。新たに <code>Via:</code> が
1125     生成されることはありません。</li>
1126     </ul>
1127 </usage>
1128 </directivesynopsis>
1129
1130 <directivesynopsis>
1131 <name>ProxyErrorOverride</name>
1132 <description>プロキシされたコンテンツのエラーページを上書きする</description>
1133 <syntax>ProxyErrorOverride On|Off</syntax>
1134 <default>ProxyErrorOverride Off</default>
1135 <contextlist><context>server config</context><context>virtual host</context>
1136 </contextlist>
1137 <compatibility>バージョン 2.0 以降で使用可能</compatibility>
1138
1139 <usage>
1140     <p>このディレクティブはリバースプロキシを使用していて、
1141     エンドユーザに送られるエラーページの外見を共通のものにしたいときに
1142     有用です。このディレクティブは (<module>mod_include</module> の SSI によって)
1143     インクルードされたファイルがエラーコードを取得して、正しく動作を
1144     するようにもします (デフォルトの動作は、プロキシされたサーバの
1145     エラーページの表示で、このディレクティブを有効にすると SSI のエラー
1146     メッセージを表示します)。</p>
1147 </usage>
1148 </directivesynopsis>
1149
1150 </modulesynopsis>