env.xml.ja revision 6e14faf37935e36804b8bad802bc9dd58f3cf65d
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering<?xml version="1.0" encoding="UTF-8" ?>
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
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering<!--
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
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering http://www.apache.org/licenses/LICENSE-2.0
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering
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.
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering-->
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering<manualpage metafile="env.xml.meta">
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering <title>Apache の環境変数</title>
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering
40ca29a1370379d43e44c0ed425eecc7218dcbcaLennart Poettering <summary>
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering <p>Apache HTTP サーバは<em>環境変数</em>と呼ばれる、名前のついた
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering 変数に情報を記憶する仕組みを提供しています。この情報はログ収集や
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering アクセス制御などのいろいろな操作を制御するために使うことができます。
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering これらの変数は CGI スクリプトなどの外部プログラムと通信するためにも
4de33e7f3238a6fe616e61139ab87e221572e5e5Lennart Poettering 使われます。この文書はそれらの変数の操作方法と使用方法をいくつか
4bcc8c3cb57733de6eeb2528a194501fade11e6bZbigniew Jędrzejewski-Szmek 紹介します。</p>
94676f3e9352cbf1f72e0a512ee0d2ed83ff676dLennart Poettering
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <p>これらの変数は<em>環境変数</em>と呼ばれていますが、オペレーティング
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering システムによって制御されている環境変数と同じではありません。
6482f6269c87d2249e52e889a63adbdd50f2d691Ronny Chevalier 実際は、これらの変数は Apache の内部構造の中に記憶され、操作されています。
24882e06c135584f16f31ba8a00fecde8b7f6fadLennart Poettering それらは、CGI や SSI スクリプトに渡されたときだけ、実際の
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering オペレーティングシステムの環境変数になります。サーバ自身が
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering 実行されているオペレーティングシステムの環境を操作したい場合は、
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering オペレーティングシステムのシェルが提供している標準の環境変数の
3d161f991e16369aa59f447eb4cdb90af33261c8Lennart Poettering 操作方法を使わなければなりません。</p>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering </summary>
9f2e86af0600e99cff00d1c92f9bb8d38f29896aLennart Poettering
c221420be8744bb0f8b8a8145efc1f247f1aa801Lennart Poettering <section id="setting">
a6c0353b9268d5b780fb7ff05a10cb5031446e5dLennart Poettering <title>環境変数の設定</title>
d21ed1ead18d16d35c30299a69d3366847f8a039Lennart Poettering <related>
1ac67edb7c4d31a287fa98c0b554ae98bd34e71bLennart Poettering <modulelist>
d21ed1ead18d16d35c30299a69d3366847f8a039Lennart Poettering <module>mod_env</module>
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering <module>mod_rewrite</module>
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering <module>mod_setenvif</module>
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering <module>mod_unique_id</module>
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering </modulelist>
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_env">SetEnv</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 </related>
095dc59660c3dde782f32fe5a52b577f7700578bLennart Poettering
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering <section id="basic-manipulation">
601185b43da638b1c74153deae01dbd518680889Zbigniew Jędrzejewski-Szmek <title>基本的な環境の操作</title>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <p>Apache において環境変数を設定する一番基本的な方法は、
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho 無条件に環境変数を設定する <directive module="mod_env"
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho >SetEnv</directive> ディレクティブを使用することです。
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <directive module="mod_env">PassEnv</directive>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho ディレクティブにより、Apache が起動されたシェルの
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho 環境変数を渡すこともできます。</p>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho </section>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <section id="conditional">
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <title>リクエスト毎に条件に基づいて設定する</title>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho
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 ディレクティブにおいて環境変数を設定する <code>[E=...]</code>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho オプションを使用することで、
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering より柔軟な設定を行なうことができます。</p>
095dc59660c3dde782f32fe5a52b577f7700578bLennart Poettering
095dc59660c3dde782f32fe5a52b577f7700578bLennart Poettering </section>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <section id="unique-identifiers">
b57b06258e0b1894edb6d1fc52a80b3c33164892Zbigniew Jędrzejewski-Szmek <title>一意な識別子</title>
b57b06258e0b1894edb6d1fc52a80b3c33164892Zbigniew Jędrzejewski-Szmek
b57b06258e0b1894edb6d1fc52a80b3c33164892Zbigniew Jędrzejewski-Szmek <p>mod_unique_id は、非常に限られた条件の下で
b57b06258e0b1894edb6d1fc52a80b3c33164892Zbigniew Jędrzejewski-Szmek 「すべて」のリクエストについて、一意であることが保証されている値を環境変数
b57b06258e0b1894edb6d1fc52a80b3c33164892Zbigniew Jędrzejewski-Szmek <code>UNIQUE_ID</code> に設定します。</p>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho </section>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <section id="standard-cgi">
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <title>標準 CGI 変数</title>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <p>Apache の設定ファイルで設定された環境変数とシェルから渡される
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho 環境変数に加えて、CGI スクリプトと SSI ページには <a
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho href="http://cgi-spec.golux.com">CGI の仕様</a>で要求されている、
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho リクエストのメタ情報を持った環境変数の組が提供されます。</p>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering </section>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <section id="caveats">
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <title>いくつかの注意</title>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering
66b1e746055b9c56fd72c0451a4cfb2b06cf3f20Lennart Poettering <ul>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <li>環境を操作するディレクティブを使って標準 CGI
9f2e86af0600e99cff00d1c92f9bb8d38f29896aLennart Poettering 変数を上書きしたり変更したりすることはできません。</li>
c221420be8744bb0f8b8a8145efc1f247f1aa801Lennart Poettering
a6c0353b9268d5b780fb7ff05a10cb5031446e5dLennart Poettering <li>CGI スクリプトを起動するために <program>suexec</program>
a6c0353b9268d5b780fb7ff05a10cb5031446e5dLennart Poettering が使用されている場合、CGI スクリプトが起動するために、環境変数は<em
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering >安全</em>な環境変数の組に整理されます。
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering この安全な環境変数の集合は、コンパイル時に <code>suexec.c</code>
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering で定義されます。</li>
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <li>移植性のために、環境変数の名前はアルファベット、
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering 数字とアンダースコア <transnote>'_'</transnote> だけから成ります。
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho さらに、最初の文字は数字であってはいけません。
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho この制限に合わない文字は CGI スクリプトと SSI
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho ページに渡されるときにアンダースコアに置換されます。</li>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho
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>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering </ul>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering </section>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho </section>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <section id="using">
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <title>環境変数の使用</title>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <related>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <modulelist>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <module>mod_authz_host</module>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <module>mod_cgi</module>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <module>mod_ext_filter</module>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <module>mod_headers</module>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <module>mod_include</module>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <module>mod_log_config</module>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <module>mod_rewrite</module>
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>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho </related>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <section id="cgi-scripts">
3d161f991e16369aa59f447eb4cdb90af33261c8Lennart Poettering <title>CGI スクリプト</title>
eb9da376d76b48585b3b63b4f91903b54f7abd36Lennart Poettering
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <p>環境変数の主な利用法の一つは、CGI スクリプトに情報を伝えることです。
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering 上で説明されているように、CGI スクリプトに渡される環境変数は Apache
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering の設定により設定される変数に加えて、リクエストの標準のメタ情報を含んでいます。
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho 詳細は <a href="howto/cgi.html">CGI チュートリアル</a>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering を参照してください。</p>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering </section>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <section id="ssi-pages">
095dc59660c3dde782f32fe5a52b577f7700578bLennart Poettering <title>SSI ページ</title>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering
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
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering </section>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <section id="access-control">
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <title>アクセス制御</title>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering
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>
66b1e746055b9c56fd72c0451a4cfb2b06cf3f20Lennart Poettering
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering </section>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <section id="logging">
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <title>条件付きログ記録</title>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <p><directive module="mod_log_config">LogFormat</directive>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering ディレクティブのオプション <code>%e</code>
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>
a6c0353b9268d5b780fb7ff05a10cb5031446e5dLennart Poettering
a6c0353b9268d5b780fb7ff05a10cb5031446e5dLennart Poettering </section>
a6c0353b9268d5b780fb7ff05a10cb5031446e5dLennart Poettering <section id="response-headers">
a6c0353b9268d5b780fb7ff05a10cb5031446e5dLennart Poettering <title>条件付き応答ヘッダ</title>
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering <p><directive module="mod_headers">Header</directive>
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering ディレクティブは環境変数の存在や不在によってクライアントへの応答に特定の
6577c7cea72f19185ad999c223bcf663c010dc6fLennart Poettering HTTP ヘッダを付けるかどうかを決めることができます。
d21ed1ead18d16d35c30299a69d3366847f8a039Lennart Poettering これにより、たとえば、クライアントからのリクエスト
d21ed1ead18d16d35c30299a69d3366847f8a039Lennart Poettering にあるヘッダがある場合にのみ特定の応答ヘッダを送る、というようなことが
d21ed1ead18d16d35c30299a69d3366847f8a039Lennart Poettering できます。</p>
d21ed1ead18d16d35c30299a69d3366847f8a039Lennart Poettering
d21ed1ead18d16d35c30299a69d3366847f8a039Lennart Poettering </section>
d21ed1ead18d16d35c30299a69d3366847f8a039Lennart Poettering
de33fc625725d199629ed074d6278504deb23debLennart Poettering <section id="external-filter">
d21ed1ead18d16d35c30299a69d3366847f8a039Lennart Poettering <title>外部フィルタの適用</title>
d21ed1ead18d16d35c30299a69d3366847f8a039Lennart Poettering
d21ed1ead18d16d35c30299a69d3366847f8a039Lennart Poettering <p><directive module="mod_ext_filter">ExtFilterDefine</directive>
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering ディレクティブを使用して
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering <module>mod_ext_filter</module> で設定される外部フィルタは、
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering <code>disableenv=</code> と <code>enableenv=</code>
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering オプションを使って、環境変数による条件付き適用ができます。</p>
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering </section>
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering <section id="url-rewriting">
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering <title>URL の書き換え</title>
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering <p><directive module="mod_rewrite">RewriteCond</directive>
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering ディレクティブで<em>評価文字列</em>として
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 </section>
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering </section>
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering <section id="special">
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering <title>特別な目的の環境変数</title>
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering
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>
df31a6c0fe07805cb50045fbe91c2a6e7e430562Lennart Poettering
df31a6c0fe07805cb50045fbe91c2a6e7e430562Lennart Poettering <section id="downgrade">
df31a6c0fe07805cb50045fbe91c2a6e7e430562Lennart Poettering <title>downgrade-1.0</title>
df31a6c0fe07805cb50045fbe91c2a6e7e430562Lennart Poettering
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering <p>これを指定することで、リクエストが HTTP/1.0
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering より新しいプロトコルの場合でも、HTTP/1.0 として扱われます。</p>
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering </section>
095dc59660c3dde782f32fe5a52b577f7700578bLennart Poettering <section id="force-gzip">
095dc59660c3dde782f32fe5a52b577f7700578bLennart Poettering <title>force-gzip</title>
095dc59660c3dde782f32fe5a52b577f7700578bLennart Poettering <p><code>DEFLATE</code> フィルタが使用するように設定されているときに、
095dc59660c3dde782f32fe5a52b577f7700578bLennart Poettering この環境変数はブラウザの accept-encoding の設定を無視して常に
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho 圧縮された出力を送るようにします。</p>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho </section>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <section id="force-no-vary">
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <title>force-no-vary</title>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <p>応答ヘッダがクライアントに送られる前に <code>Vary</code>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho フィールドを取り除きます。
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho クライアントの中にはこのフィールドを正しく解釈しないものがあります。
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho この変数を設定することでその問題を回避することができます。
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho この変数を設定すると、<strong>force-response-1.0</strong>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho が設定されたことになります。</p>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho </section>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <section id="force-response">
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <title>force-response-1.0</title>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <p>これが設定されていると、HTTP/1.0 リクエストを発行するクライアントに対しては
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho 常に HTTP/1.0 で応答するようになります。この機能は、
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho 元々は AOL のプロキシの問題のために実装されました。HTTP/1.0 クライアントの中には、
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho HTTP/1.1 の応答を返されると正しく動作しないものがあるかもしれません。
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho この機能を使用することで、そのようなクライアントとの間の互換性問題を解決できます。</p>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho </section>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <section id="gzip-only-text-html">
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <title>gzip-only-text/html</title>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <p>これが 1 に設定されると、この変数は <code>text/html</code>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho 以外のコンテントタイプに対する、<module>mod_deflate</module>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho 提供の <code>DEFLATE</code> 出力フィルタを無効にします。
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho また、静的に、既に圧縮されたファイルを使用したい場合、
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho (gzip だけでなく、"identity" と異なる全てのエンコードに対して)
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <module>mod_negotiation</module> も変数を評価します。</p>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho </section>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <section id="no-gzip"><title>no-gzip</title>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <p>セットされると、<module>mod_deflate</module> の
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <code>DEFLATE</code> フィルタがオフになります。
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho そして <module>mod_negotiation</module>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho はエンコードされたリソースを送らないようにします。</p>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho </section>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <section id="nokeepalive">
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <title>nokeepalive</title>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <p>これが設定されている場合は、<directive module="core"
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho >KeepAlive</directive> を使用しないようにします。</p>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <section id="prefer-language"><title>prefer-language</title>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho
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 </section>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho </section>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <section id="redirect-carefully">
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <title>redirect-carefully</title>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <p>これはクライアントへのリダイレクトの送信をサーバがより注意深く
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho 行なうようにします。
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho これは通常、リダイレクトに際してクライアントに
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho 問題があることが分かっている場合に使われます。この機能は元々は
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho マイクロソフトのウェブフォルダのソフトが DAV
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho メソッドによるディレクトリのリソースへのリダイレクトの扱いに
3d161f991e16369aa59f447eb4cdb90af33261c8Lennart Poettering 問題がり、それを回避するために実装されました。</p>
3d161f991e16369aa59f447eb4cdb90af33261c8Lennart Poettering
3d161f991e16369aa59f447eb4cdb90af33261c8Lennart Poettering </section>
3d161f991e16369aa59f447eb4cdb90af33261c8Lennart Poettering
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <section id="suppress-error-charset">
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <title>suppress-error-charset</title>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <p><em>Apache 2.2 以降で利用可能</em></p>
eb9da376d76b48585b3b63b4f91903b54f7abd36Lennart Poettering
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>
d21ed1ead18d16d35c30299a69d3366847f8a039Lennart Poettering
d21ed1ead18d16d35c30299a69d3366847f8a039Lennart Poettering <note type="warning">
d21ed1ead18d16d35c30299a69d3366847f8a039Lennart Poettering <title>セキュリティ</title>
d21ed1ead18d16d35c30299a69d3366847f8a039Lennart Poettering
4de33e7f3238a6fe616e61139ab87e221572e5e5Lennart Poettering <p>文字セットを指定せずにエラーページを送信すると、
4de33e7f3238a6fe616e61139ab87e221572e5e5Lennart Poettering クロスサイトスクリプティング <transnote>XSS</transnote>
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering 攻撃の危険性がでてきます。
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering HTTP/1.1 仕様に準拠していなくて、コンテンツの中身から文字セットを
c7040b5d1c2c148f12b6a5eef3dfce1661805131Lennart Poettering "推測" しようとするブラウザ (MSIE) が実際にあるからです。
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering そのようなブラウザは UTF-7 文字セットを使って簡単に騙すことができます。
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering クロスサイトスクリプティング攻撃を防ぐために実装されている
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering 通常のエスケープ機構が、入力データ中にある UTF-7 で
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering エンコードされたコンテンツ (リクエスト URI など) には
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering うまく動作しないからです。</p>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho </note>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho </section>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <section id="proxy"><title>force-proxy-request-1.0, proxy-nokeepalive, proxy-sendchunked, proxy-sendcl</title>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho <p>これらの指示子は <module>mod_proxy</module> の挙動を変更します。
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho 詳細は <module>mod_proxy</module> のドキュメントをご参照ください。</p>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho </section>
4c213d6cf416917c61f82d8bee795b8f3a4c5372WaLyong Cho
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering </section>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <section id="examples">
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering <title>例</title>
df31a6c0fe07805cb50045fbe91c2a6e7e430562Lennart Poettering
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering <section id="misbehaving">
c2756a68401102786be343712c0c35acbd73d28dLennart Poettering <title>おかしな挙動をするクライアントに対してプロトコルの動作を変更する</title>
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering <p>クライアントに関する既知の問題に対処するために、以下の行を
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering httpd.conf に入れることを推奨しています。</p>
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering <p>古いバージョンの Apache では、クライアントの問題に対応するために
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering httpd.conf に次の行を加えるよう推奨されていましたが、
df31a6c0fe07805cb50045fbe91c2a6e7e430562Lennart Poettering 今となっては、問題としていたクライアントは実際には見かけることは
df31a6c0fe07805cb50045fbe91c2a6e7e430562Lennart Poettering なくなってきたので、この設定はもはや必要ないかもしれません。</p>
df31a6c0fe07805cb50045fbe91c2a6e7e430562Lennart Poettering<example><pre>
df31a6c0fe07805cb50045fbe91c2a6e7e430562Lennart Poettering#
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 Poettering#
df31a6c0fe07805cb50045fbe91c2a6e7e430562Lennart PoetteringBrowserMatch "Mozilla/2" nokeepalive
df31a6c0fe07805cb50045fbe91c2a6e7e430562Lennart PoetteringBrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering#
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.
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering#
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
7410616cd9dbbec97cf98d75324da5cda2b2f7a2Lennart Poettering </section>
7410616cd9dbbec97cf98d75324da5cda2b2f7a2Lennart Poettering <section id="no-img-log">
7410616cd9dbbec97cf98d75324da5cda2b2f7a2Lennart Poettering <title>画像へのリクエストをアクセスログに記録しない</title>
c221420be8744bb0f8b8a8145efc1f247f1aa801Lennart Poettering
c221420be8744bb0f8b8a8145efc1f247f1aa801Lennart Poettering <p>この例では、画像へのリクエストがアクセスログに現れないようにします。
c221420be8744bb0f8b8a8145efc1f247f1aa801Lennart Poettering これを変更することで、特定のディレクトリのログ収集をやめたり、
c221420be8744bb0f8b8a8145efc1f247f1aa801Lennart Poettering 特定のホストからのリクエストのログ収集をやめたりすることが簡単にできます。
c221420be8744bb0f8b8a8145efc1f247f1aa801Lennart Poettering </p>
c221420be8744bb0f8b8a8145efc1f247f1aa801Lennart Poettering <example><pre>
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>
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering </section>
aa1aad74e6b14730542c26a7c17c5d06c62b6089Zbigniew Jędrzejewski-Szmek <section id="image-theft">
aa1aad74e6b14730542c26a7c17c5d06c62b6089Zbigniew Jędrzejewski-Szmek <title>「画像の盗用」を防ぐ</title>
aa1aad74e6b14730542c26a7c17c5d06c62b6089Zbigniew Jędrzejewski-Szmek
aa1aad74e6b14730542c26a7c17c5d06c62b6089Zbigniew Jędrzejewski-Szmek <p>この例は、別のサーバにいる人が、あなたのサーバにある画像を
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering inline 画像として使用することを防ぎます。
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering これは推奨されている設定ではありませんが、ある限定された状況では有効です。
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering ここでは、すべての画像は <code>/web/images</code>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering というディレクトリにあると仮定します。</p>
6c12b52e19640747e96f89d85422941a23dc6b29Lennart Poettering <example><pre>
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&lt;Directory /web/images&gt;
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering Order Deny,Allow
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering Deny from all
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering Allow from env=local_referal
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering&lt;/Directory&gt;</pre></example>
9b15b7846d4de01bb5d9700a24077787e984e8abLennart Poettering
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>
86b8d289717bad2800342efca0a5023aa8374e9cLennart Poettering </section>
df31a6c0fe07805cb50045fbe91c2a6e7e430562Lennart Poettering </section>
df31a6c0fe07805cb50045fbe91c2a6e7e430562Lennart Poettering</manualpage>
df31a6c0fe07805cb50045fbe91c2a6e7e430562Lennart Poettering