env.xml.ja revision 6e14faf37935e36804b8bad802bc9dd58f3cf65d
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering<!DOCTYPE manualpage SYSTEM "/style/manualpage.dtd">
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering<?xml-stylesheet type="text/xsl" href="/style/manual.ja.xsl"?>
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering<!-- English Revision: 659902:1053353 (outdated) -->
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering Licensed to the Apache Software Foundation (ASF) under one or more
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering contributor license agreements. See the NOTICE file distributed with
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering this work for additional information regarding copyright ownership.
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering The ASF licenses this file to You under the Apache License, Version 2.0
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering (the "License"); you may not use this file except in compliance with
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering the License. You may obtain a copy of the License at
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering http://www.apache.org/licenses/LICENSE-2.0
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering Unless required by applicable law or agreed to in writing, software
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering distributed under the License is distributed on an "AS IS" BASIS,
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering See the License for the specific language governing permissions and
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering limitations under the License.
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering <p>Apache HTTP サーバは<em>環境変数</em>と呼ばれる、名前のついた
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering 変数に情報を記憶する仕組みを提供しています。この情報はログ収集や
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering アクセス制御などのいろいろな操作を制御するために使うことができます。
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering これらの変数は CGI スクリプトなどの外部プログラムと通信するためにも
4de33e7f3238a6fe616e61139ab87e221572e5e5Lennart Poettering 使われます。この文書はそれらの変数の操作方法と使用方法をいくつか
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering システムによって制御されている環境変数と同じではありません。
6482f6269c87d2249e52e889a63adbdd50f2d691Ronny Chevalier 実際は、これらの変数は Apache の内部構造の中に記憶され、操作されています。
24882e06c135584f16f31ba8a00fecde8b7f6fadLennart Poettering それらは、CGI や SSI スクリプトに渡されたときだけ、実際の
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering オペレーティングシステムの環境変数になります。サーバ自身が
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering 実行されているオペレーティングシステムの環境を操作したい場合は、
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering オペレーティングシステムのシェルが提供している標準の環境変数の
3d161f991e16369aa59f447eb4cdb90af33261c8Lennart Poettering 操作方法を使わなければなりません。</p>
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering <directivelist>
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering <directive module="mod_setenvif">BrowserMatch</directive>
df31a6c0fe07805cb50045fbe91c2a6e7e430562Lennart Poettering <directive module="mod_setenvif">BrowserMatchNoCase</directive>
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering <directive module="mod_env">PassEnv</directive>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <directive module="mod_rewrite">RewriteRule</directive>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <directive module="mod_setenvif">SetEnvIf</directive>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <directive module="mod_setenvif">SetEnvIfNoCase</directive>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <directive module="mod_env">UnsetEnv</directive>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho </directivelist>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <p>Apache において環境変数を設定する一番基本的な方法は、
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho >SetEnv</directive> ディレクティブを使用することです。
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho ディレクティブにより、Apache が起動されたシェルの
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho 環境変数を渡すこともできます。</p>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <p>より柔軟性を高めるために、mod_setenvif
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho で提供されているディレクティブを使用することで、リクエストの
3d161f991e16369aa59f447eb4cdb90af33261c8Lennart Poettering 特性に基づいて環境変数を設定することができます。例えば、特定のブラウザ
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho (User-Agent) のリクエストや特定の Referer [意図的な綴りです]
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <transnote>正しい綴りは referrer ですが、HTTP の仕様では Referer
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho となっています</transnote>ヘッダが見つかったときのみ変数を設定することができます。
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho mod_rewrite の <directive module="mod_rewrite">RewriteRule</directive>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho オプションを使用することで、
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering より柔軟な設定を行なうことができます。</p>
b57b06258e0b1894edb6d1fc52a80b3c33164892Zbigniew Jędrzejewski-Szmek <p>mod_unique_id は、非常に限られた条件の下で
b57b06258e0b1894edb6d1fc52a80b3c33164892Zbigniew Jędrzejewski-Szmek 「すべて」のリクエストについて、一意であることが保証されている値を環境変数
b57b06258e0b1894edb6d1fc52a80b3c33164892Zbigniew Jędrzejewski-Szmek <code>UNIQUE_ID</code> に設定します。</p>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <p>Apache の設定ファイルで設定された環境変数とシェルから渡される
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho 環境変数に加えて、CGI スクリプトと SSI ページには <a
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho href="http://cgi-spec.golux.com">CGI の仕様</a>で要求されている、
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho リクエストのメタ情報を持った環境変数の組が提供されます。</p>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <li>環境を操作するディレクティブを使って標準 CGI
9f2e86af0600e99cff00d1c92f9bb8d38f29896aLennart Poettering 変数を上書きしたり変更したりすることはできません。</li>
a6c0353b9268d5b780fb7ff05a10cb5031446e5dLennart Poettering <li>CGI スクリプトを起動するために <program>suexec</program>
a6c0353b9268d5b780fb7ff05a10cb5031446e5dLennart Poettering が使用されている場合、CGI スクリプトが起動するために、環境変数は<em
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering >安全</em>な環境変数の組に整理されます。
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering この安全な環境変数の集合は、コンパイル時に <code>suexec.c</code>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <li>移植性のために、環境変数の名前はアルファベット、
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering 数字とアンダースコア <transnote>'_'</transnote> だけから成ります。
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho さらに、最初の文字は数字であってはいけません。
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho この制限に合わない文字は CGI スクリプトと SSI
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho ページに渡されるときにアンダースコアに置換されます。</li>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <li><directive module="mod_env">SetEnv</directive> はリクエスト処理の
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho 段階の中でも遅くに実行されます。つまり
3d161f991e16369aa59f447eb4cdb90af33261c8Lennart Poettering <directive module="mod_setenvif">SetEnvIf</directive> や
3d161f991e16369aa59f447eb4cdb90af33261c8Lennart Poettering <directive module="mod_rewrite">RewriteCond</directive>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering などからは、変数がそこで設定されていることがわかりません。</li>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <modulelist>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho </modulelist>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <directivelist>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <directive module="mod_authz_host">Allow</directive>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <directive module="mod_log_config">CustomLog</directive>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <directive module="mod_authz_host">Deny</directive>
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering <directive module="mod_ext_filter">ExtFilterDefine</directive>
095dc59660c3dde782f32fe5a52b577f7700578bLennart Poettering <directive module="mod_headers">Header</directive>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <directive module="mod_log_config">LogFormat</directive>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <directive module="mod_rewrite">RewriteCond</directive>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <directive module="mod_rewrite">RewriteRule</directive>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho </directivelist>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <p>環境変数の主な利用法の一つは、CGI スクリプトに情報を伝えることです。
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering 上で説明されているように、CGI スクリプトに渡される環境変数は Apache
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering の設定により設定される変数に加えて、リクエストの標準のメタ情報を含んでいます。
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering を参照してください。</p>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <p>mod_include の <code>INCLUDES</code> フィルタで処理される
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering server-parsed (SSI) ドキュメントでは、<code>echo</code>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering 要素を使用すると環境変数が出力されます。
601185b43da638b1c74153deae01dbd518680889Zbigniew Jędrzejewski-Szmek また、ページのある部分がリクエストの性質に応じて変更されるように、
601185b43da638b1c74153deae01dbd518680889Zbigniew Jędrzejewski-Szmek 環境変数をフロー制御要素で使うことができます。詳細は
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <a href="howto/ssi.html">SSI チュートリアル</a> を参照してください。</p>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <p><code>allow from env=</code> ディレクティブと <code>deny from env=</code>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering ディレクティブを使用して、サーバへのアクセスを環境変数の値で制御することができます。
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <directive module="mod_setenvif">SetEnvIf</directive>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering ディレクティブと組み合わせることで、クライアントの特性に基づいて
66b1e746055b9c56fd72c0451a4cfb2b06cf3f20Lennart Poettering サーバへのアクセス制御を柔軟に行なうことができるようになります。
66b1e746055b9c56fd72c0451a4cfb2b06cf3f20Lennart Poettering たとえば、これらのディレクティブを使用して、特定のブラウザ (User-Agent)
66b1e746055b9c56fd72c0451a4cfb2b06cf3f20Lennart Poettering からのアクセスを拒否することができます。</p>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <p><directive module="mod_log_config">LogFormat</directive>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering を使用することで、環境変数をアクセスログに記録することができます。さらに、
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <directive module="mod_log_config">CustomLog</directive>
9f2e86af0600e99cff00d1c92f9bb8d38f29896aLennart Poettering ディレクティブの条件分岐式を使用することで、
9f2e86af0600e99cff00d1c92f9bb8d38f29896aLennart Poettering 環境変数の値によってリクエストをログに記録するかどうかを決めることができます。
9f2e86af0600e99cff00d1c92f9bb8d38f29896aLennart Poettering <directive module="mod_setenvif">SetEnvIf</directive>
9f2e86af0600e99cff00d1c92f9bb8d38f29896aLennart Poettering ディレクティブと組み合わせることで、
c221420be8744bb0f8b8a8145efc1f247f1aa801Lennart Poettering どのリクエストをログに記録するかを柔軟に制御することが可能になります。たとえば、
c221420be8744bb0f8b8a8145efc1f247f1aa801Lennart Poettering <code>gif</code> で終わるファイル名へのリクエストはログに記録しない、
c221420be8744bb0f8b8a8145efc1f247f1aa801Lennart Poettering 違うサブネットのクライアントからのリクエストだけをログに記録する、
c221420be8744bb0f8b8a8145efc1f247f1aa801Lennart Poettering という選択が可能です。</p>
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering <p><directive module="mod_headers">Header</directive>
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering ディレクティブは環境変数の存在や不在によってクライアントへの応答に特定の
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering HTTP ヘッダを付けるかどうかを決めることができます。
d21ed1ead18d16d35c30299a69d3366847f8a039Lennart Poettering これにより、たとえば、クライアントからのリクエスト
d21ed1ead18d16d35c30299a69d3366847f8a039Lennart Poettering にあるヘッダがある場合にのみ特定の応答ヘッダを送る、というようなことが
d21ed1ead18d16d35c30299a69d3366847f8a039Lennart Poettering <p><directive module="mod_ext_filter">ExtFilterDefine</directive>
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering <module>mod_ext_filter</module> で設定される外部フィルタは、
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering <code>disableenv=</code> と <code>enableenv=</code>
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering オプションを使って、環境変数による条件付き適用ができます。</p>
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering <p><directive module="mod_rewrite">RewriteCond</directive>
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering <code>%{ENV:...}</code> 式を指定することで、mod_rewrite
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering の書き換えエンジンが環境変数に基いて条件分岐を行なうことができます。
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering mod_rewrite が使用可能な変数で <code>ENV:</code> が前についていない変数は、
1ac67edb7c4d31a287fa98c0b554ae98bd34e71bLennart Poettering 実際は環境変数ではないということに注意してください。
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering それらは他のモジュールからは使用できない mod_rewrite 用の特別な変数です。
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering <p>互換性の問題を解決するために、特定のクライアントと通信しているときは
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering Apache の動作を変更できる機構が導入されました。できるだけ柔軟にするために、
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering これらの機構は環境変数を定義することで呼び出されます。普通は、
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering <directive module="mod_setenvif">BrowserMatch</directive>
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering ディレクティブを使いますが、たとえば <directive module="mod_env"
df31a6c0fe07805cb50045fbe91c2a6e7e430562Lennart Poettering >SetEnv</directive> ディレクティブや <directive module="mod_env"
df31a6c0fe07805cb50045fbe91c2a6e7e430562Lennart Poettering >PassEnv</directive> ディレクティブも使用することができます。</p>
095dc59660c3dde782f32fe5a52b577f7700578bLennart Poettering <p><code>DEFLATE</code> フィルタが使用するように設定されているときに、
095dc59660c3dde782f32fe5a52b577f7700578bLennart Poettering この環境変数はブラウザの accept-encoding の設定を無視して常に
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho 圧縮された出力を送るようにします。</p>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho フィールドを取り除きます。
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho クライアントの中にはこのフィールドを正しく解釈しないものがあります。
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho この変数を設定することでその問題を回避することができます。
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho が設定されたことになります。</p>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho 元々は AOL のプロキシの問題のために実装されました。HTTP/1.0 クライアントの中には、
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho この機能を使用することで、そのようなクライアントとの間の互換性問題を解決できます。</p>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho また、静的に、既に圧縮されたファイルを使用したい場合、
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho (gzip だけでなく、"identity" と異なる全てのエンコードに対して)
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho はエンコードされたリソースを送らないようにします。</p>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <section id="prefer-language"><title>prefer-language</title>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <p><module>mod_negotiation</module> の挙動に影響を与えます。
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho (<code>en</code>, <code>ja</code>, <code>x-klingon</code>といった)
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho 言語タグが格納されていれば、その言語の variant を送信しようとします。
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho そのような variant がない場合は、
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho 通常の<a href="content-negotiation.html">ネゴシエーション</a>処理が
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <p>これはクライアントへのリダイレクトの送信をサーバがより注意深く
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho これは通常、リダイレクトに際してクライアントに
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho 問題があることが分かっている場合に使われます。この機能は元々は
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho マイクロソフトのウェブフォルダのソフトが DAV
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho メソッドによるディレクトリのリソースへのリダイレクトの扱いに
3d161f991e16369aa59f447eb4cdb90af33261c8Lennart Poettering 問題がり、それを回避するために実装されました。</p>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <p>クライアントのリクエストに対する応答としてリダイレクトを送信する際、
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering レスポンスにはリダイレクトが自動的に行なえない (行なわれない)
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho 場合に表示するテキストが含まれます。
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering 通常、このテキストに合致したキャラクタセット、ISO-8859-1
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering でラベル付けをします。</p>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <p>しかし、リダイレクト先が別の文字セットを使っている場合、
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering ある問題のあるブラウザのバージョンでは、
d21ed1ead18d16d35c30299a69d3366847f8a039Lennart Poettering リダイレクト先の実際の文字セットの代わりに、
d21ed1ead18d16d35c30299a69d3366847f8a039Lennart Poettering リダイレクト元の文字セットを使ってしまうことがあります。
d21ed1ead18d16d35c30299a69d3366847f8a039Lennart Poettering その結果、例えば変な描画が行なわれたりして、読めなくなったりします。</p>
d21ed1ead18d16d35c30299a69d3366847f8a039Lennart Poettering <p>この環境変数を設定することで、リダイレクションテキストに対する
d21ed1ead18d16d35c30299a69d3366847f8a039Lennart Poettering キャラクタセットの指定を除去しますので、それら問題のあるブラウザでも
d21ed1ead18d16d35c30299a69d3366847f8a039Lennart Poettering リダイレクト先の文字セットを正しく使うようにできます。</p>
4de33e7f3238a6fe616e61139ab87e221572e5e5Lennart Poettering <p>文字セットを指定せずにエラーページを送信すると、
4de33e7f3238a6fe616e61139ab87e221572e5e5Lennart Poettering クロスサイトスクリプティング <transnote>XSS</transnote>
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering "推測" しようとするブラウザ (MSIE) が実際にあるからです。
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering そのようなブラウザは UTF-7 文字セットを使って簡単に騙すことができます。
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering クロスサイトスクリプティング攻撃を防ぐために実装されている
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering 通常のエスケープ機構が、入力データ中にある UTF-7 で
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering エンコードされたコンテンツ (リクエスト URI など) には
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering うまく動作しないからです。</p>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <section id="proxy"><title>force-proxy-request-1.0, proxy-nokeepalive, proxy-sendchunked, proxy-sendcl</title>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <p>これらの指示子は <module>mod_proxy</module> の挙動を変更します。
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho 詳細は <module>mod_proxy</module> のドキュメントをご参照ください。</p>
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering <title>おかしな挙動をするクライアントに対してプロトコルの動作を変更する</title>
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering <p>クライアントに関する既知の問題に対処するために、以下の行を
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering <p>古いバージョンの Apache では、クライアントの問題に対応するために
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering httpd.conf に次の行を加えるよう推奨されていましたが、
df31a6c0fe07805cb50045fbe91c2a6e7e430562Lennart Poettering 今となっては、問題としていたクライアントは実際には見かけることは
df31a6c0fe07805cb50045fbe91c2a6e7e430562Lennart Poettering なくなってきたので、この設定はもはや必要ないかもしれません。</p>
df31a6c0fe07805cb50045fbe91c2a6e7e430562Lennart Poettering# The following directives modify normal HTTP response behavior.
8962620e5e7d6a8ffde1fe363f13dd82b1a15661Lennart Poettering# The first directive disables keepalive for Netscape 2.x and browsers that
8962620e5e7d6a8ffde1fe363f13dd82b1a15661Lennart Poettering# spoof it. There are known problems with these browser implementations.
df31a6c0fe07805cb50045fbe91c2a6e7e430562Lennart Poettering# The second directive is for Microsoft Internet Explorer 4.0b2
df31a6c0fe07805cb50045fbe91c2a6e7e430562Lennart Poettering# which has a broken HTTP/1.1 implementation and does not properly
df31a6c0fe07805cb50045fbe91c2a6e7e430562Lennart Poettering# support keepalive when it is used on 301 or 302 (redirect) responses.
df31a6c0fe07805cb50045fbe91c2a6e7e430562Lennart PoetteringBrowserMatch "Mozilla/2" nokeepalive
df31a6c0fe07805cb50045fbe91c2a6e7e430562Lennart PoetteringBrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering# The following directive disables HTTP/1.1 responses to browsers which
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering# are in violation of the HTTP/1.0 spec by not being able to grok a
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering# basic 1.1 response.
c2756a68401102786be343712c0c35acbd73d28dLennart PoetteringBrowserMatch "RealPlayer 4\.0" force-response-1.0
c221420be8744bb0f8b8a8145efc1f247f1aa801Lennart PoetteringBrowserMatch "Java/1\.0" force-response-1.0
c221420be8744bb0f8b8a8145efc1f247f1aa801Lennart PoetteringBrowserMatch "JDK/1\.0" force-response-1.0</pre></example>
c221420be8744bb0f8b8a8145efc1f247f1aa801Lennart Poettering <p>この例では、画像へのリクエストがアクセスログに現れないようにします。
c221420be8744bb0f8b8a8145efc1f247f1aa801Lennart Poettering これを変更することで、特定のディレクトリのログ収集をやめたり、
c221420be8744bb0f8b8a8145efc1f247f1aa801Lennart Poettering 特定のホストからのリクエストのログ収集をやめたりすることが簡単にできます。
9b15b7846d4de01bb5d9700a24077787e984e8abLennart PoetteringSetEnvIf Request_URI \.gif image-request
9b15b7846d4de01bb5d9700a24077787e984e8abLennart PoetteringSetEnvIf Request_URI \.jpg image-request
9b15b7846d4de01bb5d9700a24077787e984e8abLennart PoetteringSetEnvIf Request_URI \.png image-request
9b15b7846d4de01bb5d9700a24077787e984e8abLennart PoetteringCustomLog logs/access_log common env=!image-request</pre></example>
aa1aad74e6b14730542c26a7c17c5d06c62b6089Zbigniew Jędrzejewski-Szmek <p>この例は、別のサーバにいる人が、あなたのサーバにある画像を
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering inline 画像として使用することを防ぎます。
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering これは推奨されている設定ではありませんが、ある限定された状況では有効です。
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering というディレクトリにあると仮定します。</p>
8159d91a9c92aaee66d450ab0daff88f6e1a42b3Lennart PoetteringSetEnvIf Referer "^http://www\.example\.com/" local_referal
8159d91a9c92aaee66d450ab0daff88f6e1a42b3Lennart Poettering# Allow browsers that do not send Referer info
9b15b7846d4de01bb5d9700a24077787e984e8abLennart PoetteringSetEnvIf Referer "^$" local_referal
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering Order Deny,Allow
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering Allow from env=local_referal
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering <p>この手法に関する詳しい情報は ServerWatch にあるチュートリアル
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering 「<a href="http://www.serverwatch.com/tutorials/article.php/1132731"
86b8d289717bad2800342efca0a5023aa8374e9cLennart Poettering >Keeping Your Images from Adorning Other Sites</a>
86b8d289717bad2800342efca0a5023aa8374e9cLennart Poettering 」を参照してください。</p>