]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_proxy.xml.ja
Update docco 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:707357 (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 type="section">
271 <name>Proxy</name>
272 <description>プロキシされるリソースに適用されるコンテナ</description>
273 <syntax>&lt;Proxy <var>wildcard-url</var>&gt; ...&lt;/Proxy&gt;</syntax>
274 <contextlist><context>server config</context><context>virtual host</context>
275 </contextlist>
276
277 <usage>
278     <p><directive type="section">Proxy</directive> セクション中の
279     ディレクティブはマッチするプロキシされるコンテンツにのみ適用されます。
280     シェル形式のワイルドカードが使えます。</p>
281
282     <p>例えば、次の設定は <code>yournetwork.example.com</code> の
283     ホストにのみプロキシサーバを経由したアクセスを許可します:</p>
284
285     <example>
286       &lt;Proxy *&gt;<br />
287       <indent>
288         Order Deny,Allow<br />
289         Deny from all<br />
290         Allow from yournetwork.example.com<br />
291       </indent>
292       &lt;/Proxy&gt;
293     </example>
294
295     <p>次の例は <code>example.com</code> の <code>foo</code> ディレクトリの
296     すべてのファイルに対して、プロキシサーバを通して送られたときには
297     <code>INCLUDES</code> フィルタを通して送るように設定します:</p>
298
299     <example>
300       &lt;Proxy http://example.com/foo/*&gt;<br />
301       <indent>
302         SetOutputFilter INCLUDES<br />
303       </indent>
304       &lt;/Proxy&gt;
305     </example>
306
307     
308 </usage>
309 </directivesynopsis>
310
311 <directivesynopsis>
312 <name>ProxyBadHeader</name>
313 <description>応答におかしなヘッダがある場合の扱い方を決める</description>
314 <syntax>ProxyBadHeader IsError|Ignore|StartBody</syntax>
315 <default>ProxyBadHeader IsError</default>
316 <contextlist><context>server config</context><context>virtual host</context>
317 </contextlist>
318 <compatibility>2.0.44 以降</compatibility>
319
320 <usage>
321     <p><directive>ProxyBadHeader</directive> ディレクティブは構文的に
322     間違ったヘッダ (<em>つまり</em> コロンを含まないもの) を受け取ったときに
323     <module>mod_proxy</module> がどう振る舞うかを決めます。以下の引数を
324     取ることができます:</p>
325
326     <dl>
327     <dt><code>IsError</code></dt>
328     <dd>リクエストを中止して 502 (Bad Gateway) 応答を返す。
329     これがデフォルトの動作です。</dd>
330
331     <dt><code>Ignore</code></dt>
332     <dd>間違ったヘッダ行をそもそも存在しなかったものとして扱う。</dd>
333
334     <dt><code>StartBody</code></dt>
335     <dd>間違ったヘッダ行を受け取ったら、ヘッダの読み込みを終了して、
336     それ以降の残りをボディとして扱う。これはヘッダとボディの間に空行を入れ忘れて
337     しまっているような、きちんと動作していないバックエンドサーバがあるときに、
338     問題を回避するのに役に立ちます。</dd>
339     </dl>
340 </usage>
341 </directivesynopsis>
342
343 <directivesynopsis type="section">
344 <name>ProxyMatch</name>
345 <description>正規表現でのマッチによるプロキシリソース用のディレクティブコンテナ</description>
346 <syntax>&lt;ProxyMatch <var>regex</var>&gt; ...&lt;/ProxyMatch&gt;</syntax>
347 <contextlist><context>server config</context><context>virtual host</context>
348 </contextlist>
349
350 <usage>
351     <p><directive type="section">ProxyMatch</directive> は URL のマッチに
352     <glossary ref="regex">正規表現</glossary> を用いることを除いて
353     <directive type="section">Proxy</directive> ディレクティブと同じです。</p>
354 </usage>
355 </directivesynopsis>
356
357 <directivesynopsis>
358 <name>ProxyPreserveHost</name>
359 <description>プロキシリクエストに、受け付けた Host HTTP ヘッダを使う</description>
360 <syntax>ProxyPreserveHost On|Off</syntax>
361 <default>ProxyPreserveHost Off</default>
362 <contextlist><context>server config</context><context>virtual host</context>
363 </contextlist>
364 <compatibility>Apache 2.0.31 以降で使用可能</compatibility>
365
366 <usage>
367     <p>このオプションが有効になっている場合、<directive>ProxyPass</directive>
368     で指定したホスト名の代わりに、受け付けたリクエストの Host: 行を
369     プロキシ先のホストに送ります。</p>
370
371     <p>このオプションは通常は <code>Off</code> に設定してください。
372     ほとんどの場合、これは大量の名前ベースのバーチャルホスティングを行なっていて、
373     元々の Host ヘッダをバックエンドサーバが解釈する必要のあるときのような、
374     特別な設定が必要な場合にのみ有用です。</p>
375 </usage>
376 </directivesynopsis>
377
378 <directivesynopsis>
379 <name>ProxyRequests</name>
380 <description>フォワード (標準の) プロキシリクエストを有効にする</description>
381 <syntax>ProxyRequests On|Off</syntax>
382 <default>ProxyRequests Off</default>
383 <contextlist><context>server config</context><context>virtual host</context>
384 </contextlist>
385
386 <usage>
387     <p>これは Apache のフォワードプロキシサーバとしての動作を
388     有効もしくは無効にします。(ProxyRequests を <code>Off</code> に
389     設定しても、<directive module="mod_proxy">ProxyPass</directive> 
390     の設定は無効になりません。)</p>
391
392     <p>通常のリバースプロキシの設定では、このオプションは <code>Off</code>
393     に設定してください。</p>
394
395     <p>HTTP や FTP サイトへのプロキシの機能を有効にしたい場合は、
396     <module>mod_proxy_http</module> や <module>mod_proxy_ftp</module> が
397     サーバに組み込まれていなければなりません。</p>
398
399     <note type="warning"><title>警告</title>
400       <p><a href="#access"
401       >サーバを安全にする</a>まで <directive module="mod_proxy"
402       >ProxyRequests</directive> は有効にしないでください。
403       オープンプロキシサーバはあなた自身のネットワークにとっても、
404       インターネット全体にとっても危険です。</p>
405     </note>
406 </usage>
407 </directivesynopsis>
408
409 <directivesynopsis>
410 <name>ProxyRemote</name>
411 <description>特定のリクエストを扱う時に使われるリモートプロキシを指定する</description>
412 <syntax>ProxyRemote <var>match</var> <var>remote-server</var></syntax>
413 <contextlist><context>server config</context><context>virtual host</context>
414 </contextlist>
415
416 <usage>
417     <p>このディレクティブはこのプロキシに対するリモートプロキシを定義します。
418     <var>match</var> はリモートサーバがサポートする URL スキーム、
419     リモートサーバが使うはずの URL の一部分、サーバがすべての
420     リクエストに使われることを示す <code>*</code> のどれかになります。
421     <var>remote-server</var> はリモートサーバの部分 URL です。構文:</p>
422
423     <example>
424       <dfn>remote-server</dfn> =
425           <var>scheme</var>://<var>hostname</var>[:<var>port</var>]
426     </example>
427
428     <p><var>scheme</var> は実際上リモートサーバとの通信に使われるプロトコルを
429     決定します。このモジュールでは <code>http</code> だけがサポートされて
430     います。</p>
431
432     <example><title>例</title>
433       ProxyRemote http://goodguys.com/ http://mirrorguys.com:8000<br />
434       ProxyRemote * http://cleversite.com<br />
435       ProxyRemote ftp http://ftpproxy.mydomain.com:8080
436     </example>
437
438     <p>この例では、プロキシは FTP リクエストを別の HTTP リクエストで包んで
439     そのようなリクエストを扱える別のプロキシに転送します。</p>
440
441     <p>このオプションはリバースプロキシの設定もサポートします。
442     サーバが別のフォワードプロキシの後ろに隠されている場合でも
443     バックエンドウェブサーバをバーチャルホストの URL 空間に入れることが
444     できます。</p>
445 </usage>
446 </directivesynopsis>
447
448 <directivesynopsis>
449 <name>ProxyRemoteMatch</name>
450 <description>正規表現でのマッチによるリクエストを扱うリモートプロキシの指定</description>
451 <syntax>ProxyRemoteMatch <var>regex</var> <var>remote-server</var></syntax>
452 <contextlist><context>server config</context><context>virtual host</context>
453 </contextlist>
454
455 <usage>
456     <p><directive>ProxyRemoteMatch</directive> は最初の引数がリクエストされた
457     URL にマッチする<glossary ref="regex">正規表現</glossary>であることを除けば <directive
458     module="mod_proxy">ProxyRemote</directive> ディレクティブと同じです。</p>
459 </usage>
460 </directivesynopsis>
461
462 <directivesynopsis>
463 <name>ProxyPass</name>
464 <description>リモートサーバをローカルサーバの URL 空間にマップする</description>
465 <syntax>ProxyPass [<var>path</var>] !|<var>url</var> [<var>key=value</var> <var>key=value</var> ...]]</syntax>
466 <contextlist><context>server config</context><context>virtual host</context>
467 <context>directory</context>
468 </contextlist>
469
470 <usage>
471     <p>このディレクティブはリモートサーバをローカルサーバの名前空間に
472     マップできるようにします。ローカルサーバは通常の意味でのプロキシと
473     しては動作せず、リモートサーバのミラーとして振る舞います。
474     <var>path</var> はローカルの仮想パスの名前です。<var>url</var> は
475     リモートサーバの部分 URL になり、クエリー文字列を含むことはできません。</p>
476
477     <note type="warning"><directive>ProxyPass</directive> ディレクティブを
478     使っているときは <directive
479     module="mod_proxy">ProxyRequests</directive> ディレクティブは通常は
480     <strong>off</strong> に設定されているべきです。</note>
481
482     <p>ローカルサーバのアドレスが <code>http://example.com/</code> であると
483     します。すると、</p>
484
485     <example>
486       ProxyPass /mirror/foo/ http://backend.example.com/
487     </example>
488
489     <p>と設定すると <code>http://example.com/mirror/foo/bar</code> への
490     リクエストが内部的に <code>http://backend.example.com/bar</code> への
491     プロキシリクエストに変換されることになります。</p>
492
493     <p>サブディレクトリをリバースプロキシしたくないときに <code>!</code> は
494     役に立ちます。<em>例えば</em>、</p>
495
496     <example>
497       ProxyPass /mirror/foo/i !<br />
498       ProxyPass /mirror/foo http://backend.example.com
499     </example>
500
501     <p>は <code>/mirror/foo/i</code> を<em>除く</em>
502     <code>/mirror/foo</code> へのすべてのリクエストを
503     <code>backend.example.com</code> にプロキシします。</p>
504
505     <note><title>注</title>
506       <p>順番は重要です。一般的な <directive>ProxyPass</directive>
507       ディレクティブの<em>前に</em>
508       除外ディレクティブを置く必要があります。</p>
509     </note>
510
511     <p>2.1 の機能で、バックエンドサーバとの接続にプールされたコネクションを
512     使えるようになりました。<code>key=value</code> 形式のパラメータで
513     このコネクションプーリングの調整ができます。<code>Hard Maximum</code> 
514     のデフォルト値は、有効になっている MPM でのプロセス当たりのスレッド数と
515     同じ数のコネクション数です。prefork MPM では通常は 1 で、worker MPM では
516     <directive>ThreadsPerChild</directive> で調整されます。</p>
517
518     <p><code>min</code> の設定で、バックエンドサーバとの間に何本のコネクションを
519     常時開くかが決まります。Soft Maximum <code>smax</code> の数に
520     達するまで必要に応じてコネクションは生成されます。<code>smax</code>
521     を超えた数のコネクションは、生存時間 <code>ttl</code> で切断されます。
522     バックエンドサーバと Hard Maximum <code>max</code> の数以上のコネクションを
523     生成することはありません。</p>
524
525     <example>
526         ProxyPass /example http://backend.example.com smax=5 max=20 ttl=120 retry=300
527     </example>
528
529     <table>
530     <tr><th>パラメータ</th>
531         <th>デフォルト値</th>
532         <th>説明</th></tr>
533     <tr><td>min</td>
534         <td>0</td>
535         <td>バックエンドサーバとの接続で
536             常に開いているコネクション数の最小値</td></tr>
537     <tr><td>max</td>
538         <td>1...n</td>
539         <td>バックエンドサーバとの接続数の Hard Maximum
540         <transnote>ハードリミット</transnote>。
541         デフォルト値は、使用している MPM のプロセスあたりのスレッド数になっています。
542         Prefork MPM では常に 1 で、Worker MPM では <directive>ThreadsPerChild</directive>
543         で調節できます。Hard Maximum 以上にバックエンドサーバとのコネクションを
544         生成することはありません。</td></tr>
545     <tr><td>smax</td>
546         <td>max</td>
547         <td>接続数の Soft Maximum <transnote>ソフトリミット</transnote>まで、
548         コネクションは必要に応じて生成されます。
549         <code>smax</code> を超えた数のコネクションは生存時間 <code>ttl</code>
550         で切断されます。
551     </td></tr>
552     <tr><td>ttl</td>
553         <td>-</td>
554         <td><code>smax</code> 数を超えた非活動状態のコネクションの生存時間を、
555         秒で指定します。この期間内に使用されなかったコネクションは、
556         全て閉じられます。
557     </td></tr>
558     <tr><td>timeout</td>
559         <td><directive>Timeout</directive></td>
560         <td>コネクションタイムアウトを秒で指定します。特に指定されなければ、
561         フリーなコネクションを取得できるまで待ちます。このディレクティブは
562         <code>max</code> パラメータと合わせて使うことで、バックエンドサーバとの
563         接続数を制御するのに使います。
564     </td></tr>
565     <tr><td>acquire</td>
566         <td>-</td>
567         <td>設定すると、コネクションプールからフリーのコネクションを取得するために
568         待機する待ち時間の最大値になります。フリーのコネクションがプールになかった場合は、
569         <code>SERVER_BUSY</code> ステータスがクライアントに返されます。
570     </td></tr>
571     <tr><td>keepalive</td>
572         <td>Off</td>
573         <td>バックエンドサーバと Apache の間にファイアーウォールがある場合には、
574         このパラメータを使ってください。ファイアウォールは往々にして、
575         非活動状態のコネクションを落とそうとします。
576         このフラグは OS に指示して、<code>KEEP_ALIVE</code> メッセージを非活動状態の
577         コネクションでも送るようにします (間隔は OS のグローバル設定に依存し、
578         通常は 120ms 間隔) 。これによってファイアウォールによってコネクションが
579         落とされることを防げます。keepalive を有効にするには、このプロパティを
580         <code>On</code> にしてください。
581     </td></tr>
582     <tr><td>retry</td>
583         <td>60</td>
584         <td>コネクションをプーリングするための、リトライのタイムアウトを秒で
585         指定します。バックエンドサーバへのコネクションプーリングが失敗した場合は、
586         タイムアウトの期間が過ぎるまで、そのサーバにリクエストをフォワードしません。
587         この機能を使うと、バックエンドサーバをメンテナンスのためにシャットダウンし、
588         後でオンラインに復帰させるといったことができます。
589     </td></tr>
590     <tr><td>loadfactor</td>
591         <td>1</td>
592         <td>ワーカーあたりの負荷係数です。BalancerMember で使います。
593         1 から 100 までの数字でそのワーカーに対する正規化された負荷率を指定します。
594     </td></tr>
595     <tr><td>route</td>
596         <td>-</td>
597         <td>ロードバランサで使った場合、ワーカーのルーティングをします。
598         ルートはセッション ID に付加された値になります。
599     </td></tr>
600     <tr><td>redirect</td>
601         <td>-</td>
602         <td>ワーカーのリダイレクション経路です。この値は通常は、
603         安全にクラスタからノードを取り去る設定を動的に入れるために使います。
604         セッション ID の無いリクエスト全てを指定した場合は、
605         この値と同じルーティングパラメータを持つ 
606         BalancerMember にリダイレクトされます。
607     </td></tr>
608
609     </table>
610
611     <p>Proxy ディレクティブのスキームが <code>balancer://</code> になっている場合は、
612     バックエンドサーバと実際には通信しない仮想ワーカーが生成されます。
613     このワーカーは幾つかの "本物の" ワーカーの管理をつかさどります。
614     この場合パラメータは、この仮想ワーカーに対して設定されます。
615     </p>
616     <table>
617     <tr><th>パラメータ</th>
618         <th>デフォルト値</th>
619         <th>説明</th></tr>
620     <tr><td>lbmethod</td>
621         <td>-</td>
622         <td>Balancer のロードバランス方法。使用するロードバランスの
623         スケジューリング方法を選びます。処理したリクエストの数で重み付けする
624         <code>byrequests</code> か、転送量のバイト数で重み付けする
625         <code>bytraffic</code> を設定できます。デフォルトは
626         <code>byrequests</code> です。
627     </td></tr>
628     <tr><td>stickysession</td>
629         <td>-</td>
630         <td>バランサーのスティッキーセッション名です。通常はこの値は <code>JSESSIONID</code>
631         や <code>PHPSESSIONID</code> といったものになりますが、この値は
632         バックエンドアプリケーションのサポートするセッションに依存します。
633     </td></tr>
634     <tr><td>nofailover</td>
635         <td>Off</td>
636         <td><code>On</code> になっていると、ワーカーがエラーを起こしたり
637         無効になっている場合にセッションが切れます。
638         バックエンドサーバがセッションレプリケーションをサポートしていない場合は、
639         On にしてください。
640     </td></tr>
641     <tr><td>timeout</td>
642         <td>0</td>
643         <td>バランサーのタイムアウトを秒で指定します。
644         この値を設定すると、フリーのワーカーを取得するまでの最大待機時間になります。
645         デフォルトでは待機しません。
646     </td></tr>
647     <tr><td>maxattempts</td>
648         <td>1</td>
649         <td>フェイルオーバーを試みる最大の回数を指定します。
650     </td></tr>
651     
652     </table>
653     <example>
654       ProxyPass /special-area http://special.example.com/ smax=5 max=10<br />
655       ProxyPass / balancer://mycluster stickysession=jsessionid nofailover=On<br />
656       &lt;Proxy balancer://mycluster&gt;<br />
657       <indent>
658         BalancerMember http://1.2.3.4:8009<br />
659         BalancerMember http://1.2.3.5:8009 smax=10<br />
660         # Less powerful server, don't send as many requests there<br />
661         BalancerMember http://1.2.3.6:8009 smax=1 loadfactor=20<br />
662       </indent>
663       &lt;/Proxy&gt;
664     </example>
665
666     <p><directive type="section" module="core"
667     >Location</directive> セクションの中で使われた場合、最初の引数は
668     省略され、ローカルディレクトリは <directive type="section" module="core"
669     >Location</directive> から取得されます。</p>
670
671     <p>より柔軟なリバースプロキシの設定が必要な場合は、<code>[P]</code>
672     フラグ付きの <directive module="mod_rewrite">RewriteRule</directive>
673     ディレクティブを参照してください。</p>
674 </usage>
675 </directivesynopsis>
676
677 <directivesynopsis>
678 <name>ProxyPassReverse</name>
679 <description>リバースプロキシされたサーバから送られた HTTP 応答ヘッダの
680 URL を調整する</description>
681 <syntax>ProxyPassReverse [<var>path</var>] <var>url</var></syntax>
682 <contextlist><context>server config</context><context>virtual host</context>
683 <context>directory</context>
684 </contextlist>
685
686 <usage>
687     <p>このディレクティブは Apache に HTTP リダイレクト応答の
688     <code>Location</code>, <code>Content-Location</code>, <code>URI</code>
689     ヘッダの調整をさせます。これは、Apache がリバースプロキシとして使われている
690     ときに、リバースプロキシを通さないでアクセスすることを防ぐために
691     重要です。これによりバックエンドサーバの HTTP リダイレクトが
692     リバースプロキシとバックエンドの間で扱われるようになります。</p>
693
694     <p>ディレクティブで明示されている HTTP 応答ヘッダのみが書き換えられます。
695     Apache は他の応答ヘッダを書き換えたり、HTML ページの中の URL 参照を
696     書き換えたりすることはありません。HTML の中を見て、URL 参照を書き換える
697     モジュールに Nick Kew さんの <a
698     href="http://apache.webthing.com/mod_proxy_html/"
699     >mod_proxy_html</a> があります。</p>
700
701     <p><var>path</var> はローカル仮想パスの名前です。<var>url</var> は
702     リモートサーバの部分 URL です。これらは <directive module="mod_proxy"
703     >ProxyPass</directive> ディレクティブと同様です。</p>
704
705     <p>例えば、ローカルサーバのアドレスが <code>http://example.com/</code>
706     だとします。すると</p>
707
708     <example>
709       ProxyPass         /mirror/foo/ http://backend.example.com/<br />
710       ProxyPassReverse  /mirror/foo/ http://backend.example.com/<br />
711       ProxyPassReverseCookieDomain  backend.example.com  public.example.com<br />
712       ProxyPassReverseCookiePath  /  /mirror/foo/
713     </example>
714
715     <p>という設定をすると、<code>http://example.com/mirror/foo/bar</code>
716     へのローカルリクエストが <code>http://backend.example.com/bar</code>
717     へのプロキシリクエストに内部でリダイレクトされるだけではありません
718     (これは <code>ProxyPass</code> の機能です)。<code>backend.example.com</code>
719     が送るリダイレクトの面倒もみます。<code>http://backend.example.com/bar</code>
720     が <code>http://backend.example.com/quux</code> にリダイレクトされたとき、
721     Apache は HTTP リダイレクト応答をクライアントに送る前に、
722     <code>http://example.com/mirror/foo/quux</code> に変更します。
723     URL を構成するのに使われるホスト名は <directive
724     module="core">UseCanonicalName</directive> の設定に応じて選択されることに
725     注意してください。</p>
726
727     <p><directive>ProxyPassReverse</directive> ディレクティブは
728     対応する <directive module="mod_proxy"
729     >ProxyPass</directive> ディレクティブには依存しないため、
730     <module>mod_rewrite</module> のプロキシ通過機能
731     (<code>RewriteRule ...  [P]</code>) と併せて使用することができます。</p>
732
733     <p><directive type="section" module="core"
734     >Location</directive> セクションの中で使われた場合は、
735     最初の引数は省略され、ローカルディレクトリは <directive
736     type="section" module="core">Location</directive> から取得されます。</p>
737 </usage>
738 </directivesynopsis>
739
740 <directivesynopsis>
741 <name>ProxyPassReverseCookieDomain</name>
742 <description>リバースプロキシサーバからの Set-Cookie ヘッダの Domain 文字列を
743 調整する</description>
744 <syntax>ProxyPassReverseCookieDomain <var>internal-domain</var> <var>public-domain</var></syntax>
745 <contextlist><context>server config</context><context>virtual host</context>
746 <context>directory</context>
747 </contextlist>
748 <usage>
749 <p>使用法は基本的に
750 <directive module="mod_proxy">ProxyPassReverse</directive> と同じですが、
751 ヘッダの URL の代わりに <code>Set-Cookie</code> ヘッダの
752 <code>domain</code> 文字列を書き換えます。</p>
753 </usage>
754 </directivesynopsis>
755
756 <directivesynopsis>
757 <name>ProxyPassReverseCookiePath</name>
758 <description>Reverse プロキシサーバからの Set-Cookie ヘッダの Path 文字列を
759 調整する</description>
760 <syntax>ProxyPassReverseCookiePath <var>internal-path</var> <var>public-path</var></syntax>
761 <contextlist><context>server config</context><context>virtual host</context>
762 <context>directory</context>
763 </contextlist>
764 <usage>
765 <p>使用法は基本的に
766 <directive module="mod_proxy">ProxyPassReverse</directive> と同じですが、
767 ヘッダの URL の代わりに <code>Set-Cookie</code> ヘッダの
768 <code>path</code> 文字列を書き換えます。</p>
769 </usage>
770 </directivesynopsis>
771
772
773 <directivesynopsis>
774 <name>AllowCONNECT</name>
775 <description>プロキシを経由して、どのポートに <code>CONNECT</code>
776 できるかを指定する</description>
777 <syntax>AllowCONNECT <var>port</var> [<var>port</var>] ...</syntax>
778 <default>AllowCONNECT 443 563</default>
779 <contextlist><context>server config</context><context>virtual host</context>
780 </contextlist>
781
782 <usage>
783     <p><directive>AllowCONNECT</directive> はプロキシの <code>CONNECT</code>
784     メソッドが接続を許可するポート番号のリストを指定します。
785     今日のブラウザは、<code>https</code> コネクションが要求されていて、
786     HTTP 上でのプロキシによるトンネリングができるときに、
787     このメソッドを使います。</p>
788
789     <p>デフォルトの設定では、https のデフォルトポート (<code>443</code>) と
790     デフォルトの snews ポート (<code>563</code>) が有効になっています。
791     このデフォルトを上書きして、リストに記載したポートにのみ接続を許可したい場合、
792     <directive>AllowCONNECT</directive> ディレクティブを使用します。</p>
793
794     <p><code>CONNECT</code> を使用するには、<module>mod_proxy_connect</module> 
795     がサーバに組み込まれていなければならないことに注意してください。</p>
796 </usage>
797 </directivesynopsis>
798
799 <directivesynopsis>
800 <name>ProxyBlock</name>
801 <description>プロキシ接続を禁止する語句、ホスト名、ドメインを指定する</description>
802 <syntax>ProxyBlock *|<var>word</var>|<var>host</var>|<var>domain</var>
803 [<var>word</var>|<var>host</var>|<var>domain</var>] ...</syntax>
804 <contextlist><context>server config</context><context>virtual host</context>
805 </contextlist>
806
807 <usage>
808     <p><directive>ProxyBlock</directive> ディレクティブは空白で区切られた
809     語句、ホスト名、ドメインのリストを指定します。サイト名にその語句、ホスト名、
810     ドメインを含むサイトへの HTTP、HTTPS、FTP によるドキュメントのリクエストは
811     プロキシサーバにより<em>ブロックされます</em>。プロキシモジュールは
812     起動時にホスト名と思しき項目の IP アドレスを調べ、後のテストのために
813     キャッシュします。これにより、サーバの起動が少し遅くなるかもしれません。</p>
814
815     <example><title>Example</title>
816       ProxyBlock joes-garage.com some-host.co.uk rocky.wotsamattau.edu
817     </example>
818
819     <p><code>rocky.wotsamattau.edu</code> が IP アドレスで参照されたときでも
820     マッチします。</p>
821
822     <p><code>wotsamattau.edu</code> のマッチには <code>wotsamattau</code>
823     だけでも十分です。</p>
824
825     <example>
826       ProxyBlock *
827     </example>
828
829     <p>はすべてのサイトへの接続をブロックすることに注意してください。</p>
830 </usage>
831 </directivesynopsis>
832
833 <directivesynopsis>
834 <name>ProxyReceiveBufferSize</name>
835 <description>プロキシされる HTTP と FTP 接続のためのネットワークバッファサイズ</description>
836 <syntax>ProxyReceiveBufferSize <var>bytes</var></syntax>
837 <default>ProxyReceiveBufferSize 0</default>
838 <contextlist><context>server config</context><context>virtual host</context>
839 </contextlist>
840
841 <usage>
842     <p><directive>ProxyReceiveBufferSize</directive> ディレクティブは
843     スループットを上げるために明示的に (TCP/IP) ネットワークバッファのサイズを
844     設定します。値は <code>512</code> 以上か、システムのデフォルトのバッファ
845     サイズを意味する <code>0</code> でなければなりません。</p>
846
847     <example><title>例</title>
848       ProxyReceiveBufferSize 2048
849     </example>
850 </usage>
851 </directivesynopsis>
852
853 <directivesynopsis>
854 <name>ProxyIOBufferSize</name>
855 <description>内部データスループットバッファのサイズを決定する</description>
856 <syntax>ProxyIOBufferSize <var>bytes</var></syntax>
857 <default>ProxyIOBufferSize 8192</default>
858 <contextlist><context>server config</context><context>virtual host</context>
859 </contextlist>
860
861 <usage>
862     <p><directive>ProxyIOBufferSize</directive> ディレクティブは入力と
863     出力用の一時メモリとして使われる内部バッファのサイズを調整します。
864     サイズは <code>8192</code> 以下でなければなりません。</p>
865
866     <p>ほとんどすべての場合、この値を変更する理由はありません。</p>
867 </usage>
868 </directivesynopsis>
869
870 <directivesynopsis>
871 <name>ProxyMaxForwards</name>
872 <description>リクエストがフォワードされるプロキシの最大数</description>
873 <syntax>ProxyMaxForwards <var>number</var></syntax>
874 <default>ProxyMaxForwards 10</default>
875 <contextlist><context>server config</context><context>virtual host</context>
876 </contextlist>
877 <compatibility>Apache 2.0 以降で使用可能</compatibility>
878
879 <usage>
880     <p><directive>ProxyMaxForwards</directive> ディレクティブは
881     リクエストに <code>Max-Forwards</code> ヘッダが指定されていない場合に
882     リクエストが通過可能なプロキシの最大数を設定します。これは
883     プロキシの無限ループや DoS 攻撃を防ぐために設定されています。</p>
884
885     <example><title>例</title>
886       ProxyMaxForwards 15
887     </example>
888 </usage>
889 </directivesynopsis>
890
891 <directivesynopsis>
892 <name>NoProxy</name>
893 <description>直接接続する ホスト、ドメイン、ネットワーク</description>
894 <syntax>NoProxy <var>host</var> [<var>host</var>] ...</syntax>
895 <contextlist><context>server config</context><context>virtual host</context>
896 </contextlist>
897
898 <usage>
899     <p>このディレクティブはイントラネット中の Apache プロキシサーバにのみ
900     有用です。<directive>NoProxy</directive> ディレクティブは空白区切りで、
901     サブネット、IP アドレス、ホスト、ドメインのリストを指定します。
902     これらのどれかにマッチするホストへのリクエストは <directive
903     module="mod_proxy">ProxyRemote</directive> で設定されたプロキシサーバに
904     フォワードされず、直接処理されます。</p>
905
906     <example><title>例</title>
907       ProxyRemote  *  http://firewall.mycompany.com:81<br />
908       NoProxy         .mycompany.com 192.168.112.0/21
909     </example>
910
911     <p><directive>NoProxy</directive> ディレクティブの <var>host</var> 引数は
912     以下の種類のどれかです:</p>
913
914     <dl>
915     <!-- ===================== Domain ======================= -->
916     <dt><var><a name="domain" id="domain">Domain</a></var></dt>
917     <dd>
918     <p><dfn>Domain</dfn> は先頭にピリオドの着いた部分 DNS ドメイン名です。
919     同一 DNS ドメイン及びゾーン (<em>すなわち</em>、ホスト名の末尾がすべて
920     <var>Domain</var> で終わっているということ) に属するホストのリストを
921     表します)。</p>
922
923     <example><title>例</title>
924       .com .apache.org.
925     </example>
926
927     <p><var>Domain</var> を <a href="#hostname"
928     >Hostname</a> と区別するために (意味的にも構文的にも。DNS ドメインも
929     DNS の A レコードを持つことができるのです!)、<var>Domain</var> は
930     常にピリオドで始まります。</p>
931     
932     <note><title>注</title>
933       <p>ドメイン名の比較は大文字小文字を区別せずに行なわれ、<var>Domain</var>
934       は常に DNS ツリーのルートから始まるものとみなされます。ですから、
935       次の二つのドメイン <code>.MyDomain.com</code> と
936       <code>.mydomain.com.</code> (最後のピリオドに注目) は同一であると
937       みなされます。ドメインの比較は DNS ルックアップなしで行なわれるため、
938       サブネットの比較よりもずっと効率的です。</p>
939     </note></dd>
940
941     <!-- ===================== SubNet ======================= -->
942     <dt><var><a name="subnet" id="subnet">SubNet</a></var></dt>
943     <dd>
944     <p><dfn>SubNet</dfn> は数値形式 (ドットで区切られた四つの数字) の
945     部分インターネットアドレスです。後にスラッシュと <var>Subnet</var>
946     の意味のあるビット数を指定するネットマスクとを続けることができます。
947     共通のネットワークインタフェースを使って到達することのできるサブネットを
948     表すために使われます。明示的にネットマスクを指定しない場合は
949     最後の省略された (もしくは値が 0 の) 数字がマスクを指定します。
950     (この場合は、ネットマスクは 8 ビット単位でしか指定できません。)
951     例:</p>
952
953     <dl>
954     <dt><code>192.168</code> もしくは <code>192.168.0.0</code></dt>
955     <dd>サブネット 192.168.0.0 と暗黙の 16 ビット有効なネットマスク
956     (<code>255.255.0.0</code> というネットマスクの形式で使われることも
957     あります)</dd>
958     <dt><code>192.168.112.0/21</code></dt>
959     <dd>サブネット<code>192.168.112.0/21</code> と 21 ビット有効な
960     ネットマスク (<code>255.255.248.0</code> という形式で使われることも
961     あります)</dd>
962     </dl>
963
964     <p>特別な場合に、32 ビット有効な <em>SubNet</em> は
965     <var><a href="#ipadr">IPAddr</a></var> と同等で、
966     0 ビット有効な <var>SubNet</var> (<em>例えば</em>、0.0.0.0/0) は
967     すべての IP アドレスにマッチする定数 <var>_Default_</var> と同じです。</p>
968     </dd>
969
970     <!-- ===================== IPAddr ======================= -->
971     <dt><var><a name="ipaddr" id="ipaddr">IPAddr</a></var></dt>
972     <dd>
973     <p><dfn>IPAddr</dfn> は数値形式 (ドットで区切られた四つの数字) の
974     完全インターネットアドレスです。通常はこのアドレスはホストを
975     表しますが、必ずしもアドレスに対応する DNS ドメイン名があるわけでは
976     ありません。</p>
977
978     <example><title>例</title>
979       192.168.123.7
980     </example>
981     
982     <note><title>注</title>
983       <p><var>IPAddr</var> は DNS システムにより解決される必要がないので、
984       apache の性能が向上するかもしれません。</p>
985     </note></dd>
986
987     <!-- ===================== Hostname ======================= -->
988     <dt><var><a name="hostname" id="hostname">Hostname</a></var></dt>
989     <dd>
990     <p><dfn>Hostname</dfn> は DNS ドメインサービスにより一つもしくは
991     複数の <var><a href="#ipaddr">IPAddr</a></var> に解決可能な
992     完全な DNS ドメイン名です。これは (<var><a href="#domain">Domain</a></var>
993     と違って、説明は上記を参照) 論理的なホストを表し、少くとも一つの
994     <var><a href="#ipaddr">IPAddr</a></var> (もしくは違う
995     <var><a href="#ipaddr">IPAddr</a></var> のホストのリスト) に解決
996     されなければなりません)。</p>
997
998     <example><title>例</title>
999       prep.ai.mit.edu<br />
1000       www.apache.org
1001     </example>
1002
1003     <note><title>注</title>
1004       <p>多くの場合、<var>Hostname</var> の代わりに <var><a
1005       href="#ipaddr">IPAddr</a></var> を指定した方が、DNS ルックアップを
1006       避けることができるため、効率が良くなります。Apache の名前解決は
1007       ネームサーバへの接続が遅い PPP 上の場合などにかなり時間を取られる
1008       ことがあります。</p>
1009       <p><var>Hostname</var> の比較は大文字小文字を区別せずに行なわれ、
1010       <var>Hostname</var> は常に DNS ツリーのルートから始まるものとみなされます。
1011       ですから、二つのドメイン <code>WWW.MyDomain.com</code> と
1012       <code>www.mydomain.com.</code> (最後のピリオドに注目) は同一であると
1013       みなされます。</p>
1014      </note></dd>
1015     </dl>
1016 </usage>
1017 <seealso><a href="../dns-caveats.html">DNS に関する問題</a></seealso>
1018 </directivesynopsis>
1019
1020 <directivesynopsis>
1021 <name>ProxyTimeout</name>
1022 <description>プロキシされたリクエストのネットワークタイムアウト</description>
1023 <syntax>ProxyTimeout <var>seconds</var></syntax>
1024 <default>ProxyTimeout 300</default>
1025 <contextlist><context>server config</context><context>virtual host</context>
1026 </contextlist>
1027 <compatibility>Apache 2.0.31 以降で使用可能</compatibility>
1028
1029 <usage>
1030     <p>このディレクティブはユーザがプロキシリクエストのタイムアウトを
1031     指定できるようにします。これはハングしてしまう遅い、もしくは挙動の
1032     怪しいサーバがあり、サーバがデータを返すまでひたすら待ち続けるよりも
1033     タイムアウトを返してより緩やかに<transnote>graceful に</transnote>
1034     失敗させたい場合に役に立ちます。</p>
1035 </usage>
1036 </directivesynopsis>
1037
1038 <directivesynopsis>
1039 <name>ProxyDomain</name>
1040 <description>プロキシされたリクエストのデフォルトのドメイン名</description>
1041 <syntax>ProxyDomain <var>Domain</var></syntax>
1042 <contextlist><context>server config</context><context>virtual host</context>
1043 </contextlist>
1044
1045 <usage>
1046     <p>このディレクティブはイントラネット内の Apache プロキシサーバにのみ
1047     有用です。<directive>ProxyDomain</directive> ディレクティブは
1048     apache プロキシサーバが属するデフォルトのドメインを指定します。
1049     ドメイン名の無いリクエストを受けた場合、設定された <var>Domain</var>
1050     が追加された同じホストへのリダイレクト応答が返されます。</p>
1051
1052     <example><title>例</title>
1053       ProxyRemote  *  http://firewall.mycompany.com:81<br />
1054       NoProxy         .mycompany.com 192.168.112.0/21<br />
1055       ProxyDomain     .mycompany.com
1056     </example>
1057 </usage>
1058 </directivesynopsis>
1059
1060 <directivesynopsis>
1061 <name>ProxyVia</name>
1062 <description>プロキシされたリクエストの <code>Via</code> HTTP 応答ヘッダ
1063 により提供される情報</description>
1064 <syntax>ProxyVia On|Off|Full|Block</syntax>
1065 <default>ProxyVia Off</default>
1066 <contextlist><context>server config</context><context>virtual host</context>
1067 </contextlist>
1068
1069 <usage>
1070     <p>このディレクティブはプロキシの <code>Via:</code> HTTP ヘッダの使用を
1071     制御します。想定されている使い方は、プロキシサーバがいくつも繋がっているときに
1072     プロキシリクエストの流れを制御することです。<code>Via:</code> ヘッダ行の
1073     説明は <a
1074     href="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616</a> (HTTP/1.1)
1075     の 14.45 節を読んでください。</p>
1076
1077     <ul>
1078     <li>デフォルトの <code>Off</code> に設定されていると、特別な処理は
1079     行なわれません。リクエストやリプライに <code>Via:</code> ヘッダがあれば、
1080     変更されずにそのまま渡します。</li>
1081
1082     <li><code>On</code> に設定されていれば、各リクエストとリプライに
1083     <code>Via:</code> 行が追加されます。</li>
1084
1085     <li><code>Full</code> に設定されていれば、<code>Via:</code> ヘッダは
1086     コメント部分に Apache サーバのバージョンも含むようになります。</li>
1087
1088     <li><code>Block</code> に設定されていれば、すべてのプロキシリクエストから
1089     <code>Via:</code> ヘッダが取り除かれます。新たに <code>Via:</code> が
1090     生成されることはありません。</li>
1091     </ul>
1092 </usage>
1093 </directivesynopsis>
1094
1095 <directivesynopsis>
1096 <name>ProxyErrorOverride</name>
1097 <description>プロキシされたコンテンツのエラーページを上書きする</description>
1098 <syntax>ProxyErrorOverride On|Off</syntax>
1099 <default>ProxyErrorOverride Off</default>
1100 <contextlist><context>server config</context><context>virtual host</context>
1101 </contextlist>
1102 <compatibility>バージョン 2.0 以降で使用可能</compatibility>
1103
1104 <usage>
1105     <p>このディレクティブはリバースプロキシを使用していて、
1106     エンドユーザに送られるエラーページの外見を共通のものにしたいときに
1107     有用です。このディレクティブは (<module>mod_include</module> の SSI によって)
1108     インクルードされたファイルがエラーコードを取得して、正しく動作を
1109     するようにもします (デフォルトの動作は、プロキシされたサーバの
1110     エラーページの表示で、このディレクティブを有効にすると SSI のエラー
1111     メッセージを表示します)。</p>
1112 </usage>
1113 </directivesynopsis>
1114
1115 </modulesynopsis>