この トピック では、ibmproxy.conf 構成ファイルに含まれているディレクティブを説明します。
ibmproxy.conf ファイルを編集してサーバーを構成するときに、この情報を参照してください。「構成および管理」フォームを使用する場合は、この章を参照する必要はありません。
ディレクティブは、アルファベット順にリストされています。
ディレクティブの中には、再始動時に更新されないものがあります。サーバーの実行中に以下のディレクティブを変更した場合には、手動でサーバーを停止してから、それを再始動する必要があります。(Caching Proxy の開始および停止を参照してください。)
ディレクティブ・グループ | ディレクティブ |
CGI | DisinheritEnv、InheritEnv |
Caching | Caching |
ロギング | AccessLog、 CacheAccessLog、 ErrorLog、 ProxyAccessLog、 ServerRoot |
ネットワーク・アクセス | BindSpecific、Hostname、ListenBacklog、Port |
パフォーマンス | MaxActiveThreads |
RTSP | すべての RTSP ディレクティブ |
SSL | すべての SSL ディレクティブ |
Linux および UNIX プロセス制御 | GroupId、UserId |
その他 | TransparentProxy |
この付録では、各ディレクティブについて以下の情報を示します。
DirectiveName value
これらの値は、デフォルトの構成ファイルに最初からコーディングされている値です。デフォルト値から、構成ファイルの変更する設定値の部分だけを変更してください。当初からデフォルト値のコーディングされないディレクティブは、ファイルの中で前にコメント・マーカー (#) を付けて表示されています。そのディレクティブに値を指定したい場合には、コメント・マーカーを除去し、値を構成ファイル内の行に追加してください。
以下のリストには、構成ファイルで受け入れられる値が含まれています。
すべての項目は、秒に変換されてから集計されます。
構成ファイルを編集する際には、次の要件を忘れないでください。
Caching Proxy ディレクティブは、以下のとおりです。
このディレクティブは、ファイルの MIME タイプがクライアントから送信された ACCEPT: ヘッダーと一致しない場合であってもそのクライアントにファイルを提供するときに使用します。このディレクティブが OFF に設定されている場合は、クライアントが受け入れ可能なタイプと異なる MIME タイプのファイルは表示されません。代わりに、エラー・ページが表示されます。
AcceptAnything {on | off}
AcceptAnything off
AcceptAnything on
このディレクティブを使用して、サーバーがアクセス統計をログに記録する場所のディレクトリーとファイルを指定します。デフォルトでは、クライアントがサーバーに、ローカル・サーバーに格納されているデータを要求するたびに、サーバーがその項目をこのログに書き込みます。通常、これらの項目には、Caching Proxy マシンが起点サーバーとして使用されるときに、構成クライアントからの要求またはアクセスが含まれるだけです。このログには、プロキシーまたはキャッシュ・アクセス情報は含まれません。
NoLog ディレクティブは、その要求をログに記録しないクライアントを指定するときに使用します。NoLog ディレクティブについては、NoLog - テンプレートと一致する特定のホストまたはドメインのログ項目を抑制するを参照してください。
サーバーは、午前 0 時に新規ログ・ファイルを開始します (サーバーが稼働している場合)。午前 0 時にサーバーが稼働していない場合は、その日における最初のサーバー始動時に新規ログ・ファイルの記録を開始します。ファイル作成時に、サーバーは、指定されたファイル名を使用し、日付接尾部を付加します。日付接尾部は、Mmmddyyyy という形式です。Mmm は月の最初の 3 文字、dd は日、yyyy は年です。
古いログ・ファイルは、ハード・ディスク上で大量のスペースを使用する可能性があるため、これらのファイルは除去するようにしてください。
AccessLog /directory_path/logfile_name
AccessLog /logs/accesslog
このディレクティブは、ファイルまたはディレクトリーにアクセスするために特定のメソッドによって行われた要求のロギングは防止するときに使用します。例えば、ファイルまたはディレクトリーに対する DELETE 要求はログに記録したくない場合があります。
このディレクティブは、構成ファイル内に複数回指定することができます。 また、1 つ以上のスペースで区切れば、1 つのディレクティブに複数のメソッドを指定することもできます。
AccessLogExcludeMethod method [...]
AccessLogExcludeMethod GET AccessLogExcludeMethod PUT AccessLogExcludeMethod POST AccessLogExcludeMethod DELETE AccessLogExcludeMethod GET PUT
なし。サーバーは、すべての種類のメソッドに必要なファイルとディレクトリーをアクセス・ログに記録します。
このディレクティブは、指定の MIME タイプのディレクトリーまたはファイルに対するアクセスの要求をプロキシー・アクセス・ログに記録したくないことを指定するときに使用します。(MIME タイプの例としては、text/html、image/gif、および image/jpeg があります。) 例えば、GIF イメージへのアクセス要求を記録しないようにすることができます。
このディレクティブは、構成ファイル内に複数回指定することができます。 また、1 つ以上のスペースで区切れば、1 つのディレクティブに複数の MIME タイプを指定することもできます。
AccessLogExcludeMimeType MIME_type [...]
AccessLogExcludeMimeType image/gif AccessLogExcludeMimeType text/html AccessLogExcludeMimeType image/gif text/html
なし。アクセス・ログには、すべての MIME タイプのファイルとディレクトリーに対する要求 (サーバー用) が含まれています。
このディレクティブは、指定の範囲のエラー・コード番号に入るアクセス要求はログに記録したくないことを指定する場合に使用します。これらのエラー・コード番号は、プロキシー・サーバー状況コードです。個々のコードを指定することはできません。300 を指定すると、リダイレクト戻りコード (301、302、303、および 304) を持つアクセス要求を除外したいということが示されます。
このディレクティブは、構成ファイル内に複数回指定することができます。 また、1 つ以上のスペースで区切れば、1 つのディレクティブに複数の戻りコードを指定することもできます。
AccessLogExcludeReturnCode range
AccessLogExcludeReturnCode 300
なし。アクセス・ログには、コードとは関係なく、サーバーへ送信するすべての要求が含まれています。
このディレクティブは、指定の URL テンプレートに一致する特定のファイルまたはディレクトリーに対するアクセスの要求をログに記録したくないことを指定するときに使用します。例えば、GIF ファイルへのアクセス要求はログに記録したくない場合や、サーバー上の特定のファイルまたはディレクトリーに対するアクセス要求はログに記録したくない場合があります。
このディレクティブは、構成ファイル内に複数回指定することができます。 また、1 つ以上のスペースで区切れば、1 つのディレクティブに複数の項目を指定することもできます。
AccessLogExcludeURL file_or_type [...]
AccessLogExcludeURL *.gif AccessLogExcludeURL /Freebies/* AccessLogExcludeURL *.gif /Freebies/*
なし。サーバーは、すべてのファイルおよびディレクトリーに対するアクセスの要求をログに記録します。
このディレクティブは、特定のユーザー・エージェント (例えば、Internet Explorer 5.0) が行った アクセス要求をログに記録しないことを指定する場合に使用します。
このディレクティブは、構成ファイル内に複数回指定することができます。 また、1 つ以上のスペースで区切れば、1 つのディレクティブに複数の項目を指定することもできます。
AccessLogExcludeUserAgent user_agent [...]
AccessLogExcludeUserAgent *Mozilla/2.0 AccessLogExcludeUserAgent *MSIE 5*
ibmproxy.conf ファイルは、AccessLogExcludeUserAgent ディレクティブに対する次の定義をデフォルトで含みます。
AccessLogExcludeUserAgent IBM_Network_Dispatcher_HTTP_Advisor AccessLogExcludeUserAgent IBM_Network_Dispatcher_WTE_Advisor
上記のユーザー・エージェントは、通常、Caching Proxy サーバーの前面に配置された、 特定の Load Balancer advisor 用に定義されています。これらのユーザー・エージェントは、 ログへの書き込み回数を最少化してパフォーマンスを向上させるため、ログに記録されません。 デフォルトでは、サーバーは、他のすべてのユーザー・エージェントによるアクセス要求を ログに記録します。
このディレクティブは、サーバーが FTP 要求のためのプロキシーとして働く場合に、戻されたディレクトリー・リストの見出しの位置合わせに使用するアイコンを指定するときに使用します。アイコンは関連ファイルのそばに表示され、ファイルを区別するのに役立ちます。
このアイコンは、ブランク・アイコンとするか、あるいはディレクトリー・リストの見出しに表示されるように指定する別のアイコンとすることができます。正しい位置合わせのためには、使用するアイコンのサイズは、ディレクトリー・リスト上で使用する他のアイコンと同じでなければなりません。
AddBlankIcon icon_URL alternative_text
アイコンの URL の最後の部分を指定します。サーバーはこの値を /icons/ ディレクトリーに付加して、 完全な URL 要求を形成します。ローカル・ファイルに対する要求の場合は、サーバーは、マッピング・ディレクティブによって要求を変換します。アイコンが検索されるためには、マッピング・ディレクティブで要求が渡されるようにしなければなりません。
サーバーをプロキシー・サーバーとして使用する場合は、完全要求は、 サーバーを指す完全修飾 URL でなければなりません。
AddBlankIcon logo.gif logo
デフォルトでは、アイコンがブランクになっているので、代替テキストは指定されていません。
このディレクティブを使用して、ディレクトリー・リスト上のディレクトリーを表すアイコンを指定します。
AddDirIcon icon_URL alternatIve_text
アイコンの URL の最後の部分を指定します。サーバーはこの値を /icons/ ディレクトリーに付加して、 完全な URL 要求を形成します。ローカル・ファイルに対する要求の場合は、サーバーは、マッピング・ディレクティブによって要求を変換します。アイコンが検索されるためには、マッピング・ディレクティブで要求が渡されるようにしなければなりません。
サーバーをプロキシー・サーバーとして使用する場合は、完全要求は、 サーバーを指す完全修飾 URL でなければなりません。URL をローカル・ファイルにマップし、マッピング・ディレクティブによって、URL が渡されるようにしなければなりません。
AddDirIcon direct.gif DIR
このディレクティブは、特定の接尾部を持つファイルを MIME エンコード・タイプにバインドする場合に使用します。このディレクティブはあまり使用されません。
AddEncoding .extension encoding
AddEncoding .qp quoted_printable
AddEncoding .Z x-compress
このディレクティブを使用して、特定の MIME コンテンツ・タイプまたはエンコード・タイプを持つファイルを表すアイコンを指定します。サーバーは、このアイコンを FTP ディレクトリー・リストを含むディレクトリー・リストで使用します。
AddIcon icon_URL alternative_text MIME_type_template
アイコンの URL の最後の部分を指定します。サーバーはこの値を /icons/ ディレクトリーに付加して、 完全な URL 要求を形成します。ローカル・ファイルに対する要求の場合は、サーバーは、マッピング・ディレクティブによって要求を変換します。アイコンが検索されるためには、マッピング・ディレクティブで要求が渡されるようにしなければなりません。
サーバーをプロキシー・サーバーとして使用する場合は、完全要求は、 サーバーを指す完全修飾 URL でなければなりません。URL をローカル・ファイルにマップし、マッピング・ディレクティブによって、URL が渡されるようにしなければなりません。
AddIcon video_file.m.pm.gif MOV video/*
ibmproxy.conf 構成ファイルの AddIcon ディレクティブには、多数のデフォルトが設定されています。
複数の言語フォーマットでファイルを処理するには、AddLang ディレクティブを使用します。 このディレクティブを使用すると、要求がローカルで処理される際に、言語とファイル拡張子を関連付けることができます。
プロキシー・サーバーは、複数フォーマットでのファイル処理において、既に AddType ディレクティブと AddEncoding ディレクティブに対応しています。 プロキシー・サーバーは、要求内の Accept-Langauge ヘッダーに基づいた、複数フォーマットでの処理には対応できません。 ただし、以前は非表示だった AddLang ディレクティブを使用すれば、言語をファイル拡張子に関連付けることができます。
AddLang .file-extension language quality
ここで language は、Accept-Language ヘッダー内の値と合わせます。 quality は、マップ・ファイルのランキング計算に使用される浮動小数点数です。
例えば、次のような AddLang 設定が構成されているとします。
AddLang .en en 1.001 AddLang .de de 1.0 AddLang .en en-us 0.9
そして、sample.html.en ファイルと sample.html.de ファイルが ご使用のローカル・ディスクに既にあると仮定します。 次のような要求が Caching Proxy によって受信されます。
GET /sample.html HTTP/1.0 Accept-Language: de,en;q=0.5 .....
要求が受信されると、プロキシー・サーバーは、Accept-Langauge ヘッダーの値と AddLang ディレクティブの定義に基づいた 各マップ・ローカル・ファイルのランキングを計算します。 ランキング最高位のファイルが、要求の処理に使用されます。
前述の例では、sample.html.en ファイルは 次のランキングに割り当てられます。
sample.html.de ファイルは、次のランキングに割り当てられます。
Accept-Language ヘッダーで q に値が指定されていない場合、 デフォルト値は 1.0 になります。
このディレクティブを使用して、ディレクトリー・リスト上の親ディレクトリーを表すアイコンを指定します。
AddParentIcon icon_URL alternative_text
アイコンの URL の最後の部分を指定します。サーバーはこの値を /icons/ ディレクトリーに付加して、 完全な URL 要求を形成します。ローカル・ファイルに対する要求の場合は、サーバーは、マッピング・ディレクティブによって要求を変換します。アイコンが検索されるためには、マッピング・ディレクティブで要求が渡されるようにしなければなりません。
サーバーをプロキシー・サーバーとして使用する場合は、完全要求は、 サーバーを指す完全修飾 URL でなければなりません。URL をローカル・ファイルにマップし、マッピング・ディレクティブによって、URL が渡されるようにしなければなりません。
AddParentIcon parent.gif UP
AddParentIcon dir-up.gif UP
このディレクティブを使用して、特定の接尾部を持つファイルを MIME タイプおよびサブタイプにバインドします。このディレクティブは、構成ファイル内に複数回指定することができます。 サーバーは、最も一般的に使用される接尾部のためのデフォルトを提供します。
AddType .extension type/subtype encoding [quality[ character_set]]
その他のエンコード値はすべて binary と同様に扱われ、コンテンツ・エンコード MIME ヘッダーとして MIME ヘッダーに入れて渡されます。7bit および 8bit は、MIME ヘッダーに入れて送信されることはありません。
AddType .ps application/postscript 8bit 1.0 AddType *.* application/binary binary 0.3
AddType .bin application/octet-stream binary 0.8
構成ファイル (ibmproxy.conf) には、AddType ディレクティブの多数のデフォルト設定が含まれています。
このディレクティブを使用して、ディレクトリー・リスト上のファイル・タイプ不明のファイルを表すアイコンを指定します。
AddUnknownIcon icon_URL alternative_text
アイコンの URL の最後の部分を指定します。サーバーは、この値を /icons/ に付加して、完全な URL 要求を形成します。ローカル・ファイルに対する要求の場合は、サーバーは、マッピング・ディレクティブによって要求を変換します。アイコンが検索されるためには、マッピング・ディレクティブで要求が渡されるようにしなければなりません。
サーバーをプロキシー・サーバーとして使用する場合は、完全要求は、 サーバーを指す完全修飾 URL でなければなりません。URL をローカル・ファイルにマップし、マッピング・ディレクティブによって、URL が渡されるようにしなければなりません。
AddUnknownIcon saywhat.gif unknown
このディレクティブを使用して、管理者がサーバーの状況ページまたは構成フォームにアクセスする場合に使用するポートを指定します。このポートに対する要求は、Port ディレクティブで定義されている標準ポート上の、他のすべての着信要求とともにキューには入りません。 ただし、AdminPort 上の要求は、通常のアクセス制御および Pass、 Exec、Protect などの要求マッピング規則を介して実行します。
AdminPort port_number
AdminPort 2001
AdminPort 8008
このディレクティブは、起点サーバーによって戻され、キャッシュ不可能のマークのあるファイルをキャッシュに入れる必要があるかどうかを指定するときに使用します。このディレクティブに従ってキャッシュに入れられたキャッシュ不可能なファイルには、再妥当性検査が必要である旨のマークが付けられます。このファイルが要求されるたびに、プロキシー・サーバーは、応答がキャッシュから提供される前にその応答の妥当性を再検査するために、If-Modified-Since (その後変更されたかどうか) の要求を起点サーバーに送信します。現在のところ、"cache-control: no-cache" ヘッダーを含む起点サーバーからの応答は、このディレクティブの影響を受けるキャッシュ不可能なファイルだけです。このディレクティブは、複数回指定することができます。
AggressiveCaching url_pattern
AggressiveCaching http://www.hosta.com/* AggressiveCaching http://www.hostb.com/*
逆方向の互換性のために、このディレクティブの前の構文 (AggressiveCaching {on | off}) は、以下のように取り扱われることになりました。
なし
このディレクティブは、Caching Proxy が POST 要求の本文の最後に復帰文字と改行文字を付加する必要のある URL を指定するときに使用します。このディレクティブは、複数回指定することができます。
appendCRLFtoPost url_pattern
appendCRLFtoPost http://www.hosta.com/
なし
このディレクティブは、複数のサーバーに共有されるリモート・キャッシュ配列を指定するときに使用します。
ArrayName array_name
なし
このディレクティブを使用して、サーバー要求処理の認証ステップ実行中にサーバーで呼び出したいカスタマイズ済みアプリケーション関数を指定します。 このコードは、認証方式に従って実行されます。BASIC 認証だけがサポートされています。
Authentication type /path/file:function_name
Authentication BASIC /ics/api/bin/icsextpgm.so:basic_authentication
なし
このディレクティブは、サーバー要求プロセスの許可ステップの実行中にサーバーで呼び出すカスタマイズ済み アプリケーション関数を指定するときに使用します。このコードは、要求されたオブジェクトをクライアントに提供できるようにします。
Authorization request_template /path/file:function_name
Authorization /index.html /api/bin/icsextpgm.so:auth_url
なし
このディレクティブは、キャッシュ・リフレッシュを On または Off に設定するときに使用します。リフレッシュが On にされると、キャッシュのコンテンツが自動的にリフレッシュされます。リフレッシュが Off の場合には、キャッシュ・エージェントは呼び出されず、その設定はすべて無視されます。 キャッシュ・エージェントを別の方法で (例えば、Linux または UNIX システム で cron ジョブを使用することによって) 開始している場合には、 このディレクティブは Off に設定してください。
AutoCacheRefresh {on | off}
AutoCacheRefresh On
このディレクティブは、サーバーが単一のネットワーク・アドレスを listen するかどうかを指定するときに、 マルチホーム・システム上で使用します。値を On に設定すると、サーバーは、すべての ローカル IP アドレスにバインドせずに、Hostname ディレクティブに指定された IP アドレスにバインドします。
このディレクティブが指定されていないと、サーバーはデフォルトの Hostname とバインドします。
このディレクティブを変更した場合は、手動でサーバーを停止してから再始動しなければなりません。再始動しただけでは、サーバーは変更を行いません。 (Caching Proxy の開始および停止を参照してください。)
BindSpecific {on | off} [OutgoingSrcIp ip_addr | host_name]
BindSpecific Off
このディレクティブは、キャッシュ・デバイスのメディア内のブロックのサイズ (バイト単位) を指定します。デフォルトでは、その値は 8192 です。これがサポートされる唯一のサイズであるため、値は変更しないようにしてください。詳しくは、htcformat コマンドの解説セクションを参照してください。
BlockSize size
デフォルトでは、構成ファイルに BlockSize の設定はありません。(デフォルト値は 8192 です。)
このディレクティブは、プロキシー・キャッシュへのアクセスのログをサーバーに保管させる場所のパスとファイル名を指定するために使用します。このディレクティブは、サーバーがプロキシーとして実行されている場合にのみ有効です。詳しくは、CacheRefreshTime - キャッシュ・エージェントをいつ開始するかを指定するを参照してください。
プロキシー・キャッシュへの要求のログ記録を使用可能にするには、Caching ディレクティブを ON に設定し、CacheMemory および CacheAccessLog ディレクティブの値を設定する必要があります。オプションで、CacheDev ディレクティブを使用して 1 つ以上のキャッシュ・デバイスを定義できます。
CacheAccessLog の値は、絶対パスか ServerRoot への相対パスのいずれかとすることができます。(それぞれについて例を 1 つ示してあります。)
CacheAccessLog path/file
CacheAccessLog /absolute/path/logfile CacheAccessLog /logs/logfile
このディレクティブは、ガーベッジ・コレクション中にサーバーが使用するキャッシュ・アルゴリズムを指定するときに使用します。
CacheAlgorithm {bandwidth | responsetime | blend}
CacheAlgorithm bandwidth
このディレクティブは、生成されるキャッシュ・ファイル名が要求の着信 URL を基にするかどうかを指定するときに使用します。
このディレクティブを On に設定すると、キャッシュ・ファイル名は着信 URL を基にして生成されます。このディレクティブを Off に設定すると、着信 URL は、最初にすべての適用可能な名前変換プラグイン、MAP 規則、および PROXY 規則経由で渡され、生成されるキャッシュ・ファイル名はその結果の URL に基づきます。
CacheByIncomingUrl {on | off}
CacheByIncomingURL off
このディレクティブは、キャッシュされたファイルをサーバーが保持する期間を指定するために使用します。 ガーベッジ・コレクションの実行の際に、サーバーは、この期間を過ぎたキャッシュされたファイルを、そのファイルの有効期限とは無関係に削除します。 指定された時間より長くファイルをキャッシュするよう要求されると、サーバーは、ファイルを供給する前に、そのファイルが有効であることを確認するためにファイルの再検証を行います。
CacheClean time_specification
CacheClean 2 weeks
CacheClean 1 month
このディレクティブは、Expires または Last-Modified ヘッダーのいずれもサーバーにより 提供されていないファイルのデフォルトの有効期限時間を設定するときに使用します。URL テンプレートを指定し、その テンプレートと一致する URL を持つファイルの有効期限時間を指定します。 このディレクティブは、構成ファイル内で 複数回使用することができます。テンプレートごとに別々のディレクティブを組み込んでください。URL テンプレートにはプロトコルを指定しなければなりません。 時間の値は、月 (months)、週 (weeks)、日 (days)、および時間 (hours) を任意に組み合わせて指定します。
CacheDefaultExpiry URL_template expiration_time
CacheDefaultExpiry ftp:* 1 day CacheDefaultExpiry gopher:* 2 days CacheDefaultExpiry http:* 0 days
このディレクティブは、キャッシュ・ストレージを指定するときに使用します。ファイルまたはロー・ディスク区画のいずれかを指定できます。AIX プラットフォームでは、ロー論理ボリュームを指定できます。(メモリー・キャッシュを使用しない場合は、ロー・ディスク・キャッシュによって最良のパフォーマンスが得られます。)
キャッシュ・デバイスは、指定する前に準備する必要があることに注意してください。キャッシュ・デバイスの準備をするには、htcformat コマンドを使用して それをフォーマットします。詳しくは、htcformat コマンドを参照してください。
複数のキャッシュ・デバイスを指定できます。同じ CacheMemory 値と BlockSize 値に各デバイスが関連付けられます。しかし、プロキシー・サーバー・マシンで約 8 MB のメモリー・オーバーヘッドが、キャッシュ・デバイスごとに必要になります。大きいデバイスを少数使用するほうが、小さいデバイスを数多く使用するよりも効率的です。 最高の効率を得るには、1 つのディスク全体を 1 つの大きい区画として使用し、そのディスクには他のものを何も入れないでください。キャッシュ・ストレージの詳細については、ディスク・キャッシュのパフォーマンスの最適化を参照してください。
CacheDev {raw_disk_partition | file}
AIX: CacheDev /dev/rlv02
HP-UX: CacheDev /dev/rdsk/c1t15d0
Linux: CacheDev /opt/IBMWTE/filecache1
Solaris: CacheDev /dev/rdsk/clt3d0s0
Windows: CacheDev ¥¥.¥E:
なし
このディレクティブは、サーバーが有効期限の切れたキャッシュ・ファイルを戻すかどうかを指定するときに使用 します。サーバーに有効期限切れのファイルを戻させたい場合には、この値を Off に設定 します。クライアントが有効期限切れのファイルを要求している場合に、プロキシーがより最近のバージョンについて 起点サーバーをチェックするようにしたい場合は、デフォルト値の On を使用します。一般に、管理者は サーバーが有効期限切れのファイルを戻すことを希望しません。ただし例外として、サーバーを実際に点検しているとき など、戻されるコンテンツについては特に関心がない場合があります。
CacheExpiryCheck {on | off}
CacheExpiryCheck On
このディレクティブは、キャッシュに入れるファイルの最大サイズを指定するときに使用します。 このサイズより大きいファイルはキャッシュに格納されません。その値は、バイト (B)、キロバイト (K)、メガバイト (M)、またはギガバイト (G) で指定することができます。 この指定で数値と測定単位 (B、K、M、G) の間にスペースが入っていても問題ありません。
CacheFileSizeLimit maximum {B | K | M | G}
CacheFileSizeLimit 4000 K
このディレクティブは、特定の URL、またはテンプレートと一致するすべての URL に対する有効期限の計算に使用する値を指定する場合に使用します。
HTTP サーバーでは、ファイルの「最終変更」日時が提供されることはよくありますが、「有効期限」の日付は提供 されません。同様に、FTP ファイルには、「最終変更」タイム・スタンプはあっても、有効期限がない場合が あります。Caching Proxy は、最終変更日時に基づいてこれらのファイルの有効期限を計算します。サーバーは、最終変更日時を使用して、ファイルが変更されてからの時間の長さを判別し、それに CacheLastModifiedFactor ディレクティブの値を 乗算します。この計算結果は、ファイルの存続時間、またはファイルが失効するまでの期間です。
また、off または -1 を指定して、このディレクティブを Off にし、有効期限を計算しないようにすることもできます。プロキシー・サーバーは、CacheLastModifiedFactor ディレクティブを構成ファイル内に表示される順番で読み取ります。プロキシー・サーバーは、キャッシュ・ファイルに適用できる最初のディレクティブを使用します。
CacheLastModifiedFactor url factor
CacheLastModifiedFactor *://hosta/* off CacheLastModifiedFactor ftp://hostb/* 0.30 CacheLastModifiedFactor ftp://* 0.25 CacheLastModifiedFactor http://* 0.10 CacheLastModifiedFactor * 0.50
CacheLastModifiedFactor http://*/ 0.10 CacheLastModifiedFactor http://*.htm* 0.20 CacheLastModifiedFactor http://*.gif 1.00 CacheLastModifiedFactor http://*.jpg 1.00 CacheLastModifiedFactor http://*.jpeg 1.00 CacheLastModifiedFactor http://*.png 1.00 CacheLastModifiedFactor http://*.tar 1.00 CacheLastModifiedFactor http://*.zip 1.00 CacheLastModifiedFactor http:* 0.15 CacheLastModifiedFactor ftp:* 0.50 CacheLastModifiedFactor * 0.10
デフォルトの 0.14 では、1 週間前に変更されたファイルが 1 日で有効期限切れになります。
このディレクティブは、プロキシーと同じドメイン内のホストからの URL をキャッシュに入れるかどうかを指定するために使用します。内部の帯域幅は URL を迅速にロードするのに十分であるため、 イントラネット上のローカル・サイトでは、通常、キャッシュに入れる必要はありません。ローカル・サイトをキャッシュに入れないということは、検索に時間のかかる URL のためにキャッシュ・スペースを節約することになります。
CacheLocalDomain {on | off}
CacheLocalDomain on
バックエンド・サーバーが同一の URL で多種の言語をお客様に戻す能力がある場合は、 このディレクティブを使用して、同一の URL での異なる言語のキャッシングをサポートします。 このディレクティブを使用すると、Caching Proxy が要求中の言語プリファレンスを、 キャッシュされた応答の言語と比べて検証することができます。
CacheMatchLanguage が使用可能にされると、 Caching Proxy がキャッシュされたコンテンツを読み込む前に、 要求の Accept-Language ヘッダーにある言語プリファレンスを、 キャッシュされたコンテンツの言語と比べます。 Caching Proxy はまた、プリファレンスとの違いの大きさを比べます。 プリファレンスとの違いの大きさが指定された限度内の場合は、 キャッシュされたコピーを戻し、 そうでない場合は、プロキシーは要求をバックエンド・サーバーに転送し、 要求した言語で新しいコピーを取得します。
CacheMatchLanguage {on | off} lang-prefer-distance-limit special-id-for-all-lang
以下は、ディレクティブ、キャッシュ・オブジェクト、および要求の構成例です。
CacheMatchLanguage On 0.2
キャッシュ・オブジェクトが中国語 (簡体字、zh_cn) であり、要求が次のものの場合、
GET / HTTP/1.1 ... Accept-Language: en_US;q=1.0, zh_cn;q=0.7, ja;q=0.3 ....
この要求では、カスタマーは英語のページ (コードと品質は en_US/1.0) を要求し、 次に中国語 (簡体字) (コードと品質は zh_cn/0.7) を要求し、次に日本語 (コードと品質は ja/0.3) を 要求します。 キャッシュされるオブジェクトは中国語 (簡体字) です。 期待される最良の品質と一致する言語品質との間のプリファレンスの違いは、1.0 - 0.7 = 0.3 です。 CacheMatchLanguage ディレクティブで限度が 0.2 に設定されており、 0.3 は限度を超えているため、 プロキシーはキャッシュ中のオブジェクトを戻すのではなく、サーバーにその URL の新規コピーを求めます。
サーバーが言語を指定していないか、 応答を戻すときに Content-Language ヘッダーで special-id-for-all-lang を指定していない場合は、 次の要求を受けるときにプロキシーは言語プリファレンスの突き合わせをせず、 キャッシュ中のコピーを戻します。
CacheMatchLanguage off
このディレクティブは、ファイルがキャッシュ内に留まっていられる時間の最大値を定義する場合に使用します。キャッシュ・ファイルの存続時間は、更新のために起点による検査を受けることなしに、それをキャッシュから提供できる時間の長さを定義します。場合によっては、キャッシュ・ファイルの計算後の存続時間の方がユーザーがファイルを保持したい時間より長い場合があります。ファイルの存続時間 (起点によって指定されたかまたは Caching Proxy によって計算された) は、CacheMaxExpiry ディレクティブによって指定された限界を超えることはできません。
このディレクティブは、構成ファイル内で複数回使用することができます。テンプレートごとに別々のディレクティブを組み込んでください。
CacheMaxExpiry URL lifetime
CacheMaxExpiry ftp:* 1 month CacheMaxExpiry http://www.santaclaus.np/* 2 days 12 hours
CacheMaxExpiry 1 month
このディレクティブは、キャッシュに関連付けるメモリーの量を指定するときに使用します。ディスク・キャッシュのパフォーマンスを最適にするためには、キャッシュ索引を含むキャッシュ・インフラストラクチャーのサポートには、キャッシュ・メモリーの値を最小 64 MB にすることをお勧めします。キャッシュ・サイズが増えると、キャッシュ索引が増加し、索引を保管するためにさらにキャッシュ・メモリーが必要になります。 64 MB のキャッシュ・メモリー値は、キャッシュ・インフラストラクチャーのサポートを提供し、約 6.4 GB までのディスク・キャッシュ用のキャッシュ索引を保管するために十分な大きさです。より大きなディスク・キャッシュの場合、キャッシュ・メモリーは、キャッシュ・サイズの 1% にすべきです。
メモリー・キャッシングを使用している場合には、キャッシュそれ自体とキャッシュ索引に必要なメモリー量の両方を含めるよう、このディレクティブを設定してください。
このディレクティブの最大推奨値は 1600 MB です。この制限は、Caching Proxy が、32 ビット・ アプリケーションとして最大 2 GB のメモリーを使用できることから決定されています。 キャッシュに必要なメモリーの量に、ルーチン処理で使用されるメモリーの量を加えた合計が 2 GB に近づくか、 またはそれを超えると、Caching Proxy は正常に稼働しません。
その量は、以下の単位のいずれかで指定できます。バイト (B)、キロバイト (K)、メガバイト (M)、およびギガバイト (G)。
CacheMemory amount {B | K | M | G}
CacheMemory 64 M
このディレクティブは、有効期限を上書きするファイルの URL を指定するときに使用します。一部のサイトでは、ファイルの存続時間の終了前に有効期限が切れるように設定されているので、サーバーはファイルをさらに頻繁に要求することが必要になります。CacheMinHold ディレクティブによって、有効期限切れのファイルは、それが再度要求されるまで、指定された時間の長さだけキャッシュに保持されます。このディレクティブは、複数回指定することができます。
CacheMinHold http://www.cachebusters.com/* 1 hour
なし
このディレクティブは、プロキシー・サーバーがリモート・サーバーからファイルを検索するかどうかを指定するときに使用します。デフォルト値 (Off) では、サーバーはリモート・サーバーからファイルを検索できます。On の値は、サーバーをスタンドアロン・キャッシュ・モードで稼働するように設定します。これは、サーバーがそのキャッシュに既に保管されているファイルしか戻すことができないことを意味します。通常は、サーバーがこのモードで稼働するときは、CacheExpiryCheck ディレクティブも Off に設定します。
サーバーをスタンドアロン・キャッシュ・モードで実行するのは、サーバーをデモのために使用する場合に便利です。デモに使用したいファイルがすべてキャッシュに保管されていることがわかっていれば、ネットワーク接続は不要です。
CacheNoConnect {on | off}
CacheNoConnect Off
このディレクティブは、指定したテンプレートと一致する URL を持つファイルだけをキャッシュに入れるよう指定するときに使用します。このディレクティブは、構成ファイル内で複数回使用することができます。テンプレートごとに別々のディレクティブを組み込んでください。URL テンプレートにはプロトコルを指定しなければなりません。 このディレクティブに値を設定しなければ、NoCaching ディレクティブと一致しないすべての URL もキャッシュに入れることができます。CacheOnly と NoCaching のどちらのディレクティブも構成ファイルに組み込まない場合は、すべての URL をキャッシュに入れることができます。
CacheOnly url_pattern
CacheOnly http://realstuff/*
なし
このディレクティブは、照会要求に対する応答をキャッシュに入れる URL を指定するときに使用します。 PUBLIC url_pattern の値を使用すると、 起点サーバーに cache-control: public ヘッダーが含まれ、 その応答が別の方法でキャッシュ可能であれば、URL に疑問符の含まれる GET 要求に対する応答がキャッシュに入れられます。ALWAYS url_pattern の 値を指定すると、その応答が別の方法でキャッシュ可能である場合は、URL に疑問符を含む GET 要求に対する応答が キャッシュに入れられます。
このディレクティブは、複数回指定することができます。
CacheQueries {ALWAYS | PUBLIC} url_pattern
CacheQueries ALWAYS http://www.hosta.com/* CacheQueries PUBLIC http://www.hostb.com/*
なし
このディレクティブは、キャッシュ・ファイルが変更されているかどうかを判別するために起点サーバーが検査する時期を指定するときに使用します。
CacheClean ディレクティブは、このディレクティブと同じように見えますが、相違点があります。CacheRefreshInterval は、プロキシーがファイルの妥当性を使用前に検査するよう指定するだけであるのに対して、CacheClean ディレクティブでは、指定した期間の後にファイルがキャッシュから除去されます。
CacheRefreshInterval URL_pattern time_period
CacheRefreshInterval time_period
CacheRefreshInterval *.gif 8 hours CacheRefreshInterval 1 week
CacheRefreshInterval 2 weeks
このディレクティブは、キャッシュ・エージェントを開始する時期を指定するときに使用します。キャッシュ・エージェントは、特定の時間に開始することができます。
CacheRefreshTime HH:MM
CacheRefreshTime 03:00
CacheTimeMargin ディレクティブは、ファイルをキャッシュに入れておくために必要なそのファイルの最小存続時間を指定するときに使用します。
Caching Proxy は、ファイルごとに有効期限を計算します。ほとんどないことですが、ファイルが有効期限切れとなる前にそのファイルに対する別の要求が受け取られた場合に、Caching Proxy は、ファイルをキャッシュに入れておくにはそのファイルの存続時間が短すぎると見なします。デフォルトでは、Caching Proxy は存続時間が 10 分より短いファイルはキャッシュに入れません。キャッシュがその最大容量に近くなければ、このディレクティブは初期値のままにしておきます。キャッシュがその容量近くまで埋め込まれた場合には、この最小存続時間の値を大きくすることを考慮してください。
CacheTimeMargin minimum_lifetime
CacheTimeMargin 10 minutes
このディレクティブは、指定したテンプレートと一致する URL を持つ未使用のキャッシュ・ファイルをサーバーが保持する時間の最大長を指定するときに使用します。テンプレートと一致する URL を持つ未使用ファイルは、有効期限とは無関係に、指定の期間だけキャッシュに格納された後でサーバーにより削除されます。このディレクティブは、構成ファイル内で複数回使用することができます。 テンプレートごとに別々のディレクティブを組み込んでください。URL テンプレートにはプロトコルを指定しなければなりません。 時間の値は、月 (months)、週 (weeks)、日 (days)、および時間 (hours) を任意に組み合わせて指定します。
CacheUnused url_template time_length
CacheUnused ftp:* 3 weeks CacheUnused gopher:* 3 days 12 hours CacheUnused * 4 weeks
CacheUnused ftp:* 3 days CacheUnused gopher:* 12 hours CacheUnused http:* 2 days
このディレクティブは、ファイルのキャッシュを使用可能にするときに使用します。キャッシングが On になっていると、プロキシー・サーバーは、他のサーバーから検索したファイルをローカル・キャッシュに保管します。これで、プロキシー・サーバーは、同じファイルに対するこれ以降の要求があっても、他のサーバーから検索する必要なしに応答します。
Caching {on | off}
Caching On
このディレクティブは、ログを圧縮するまでの経過時間を指定するときに使用します。ログは、CompressAge に設定された値より古くなると圧縮されます。CompressAge を 0 に設定した場合は、ログが圧縮されることはありません。現在および直前の日のログは決して圧縮されません。
CompressAge number_of_days
CompressAge 1
このディレクティブは、ログの圧縮に使用される圧縮ユーティリティーを識別し、パラメーターをそのユーティリティーに渡すコマンドを作成するときに使用します。アーカイブ・ログのパスを組み込んでください。
圧縮ユーティリティーは、そのマシンのパスにリストされているディレクトリーにインストールしなければなりません。
CompressCommand command
CompressCommand tar -cf /logarchs/log%%DATE%%.tar %%LOGFILES%% ; gzip /logarchs/log%%DATE%%.tar CompressCommand tar -cf /logarchs/log%%DATE%%.tar %%LOGFILES%% ; compress /logarchs/log%%DATE%%.tar CompressCommand zip -q /logarchs/log%%DATE%%.zip %%LOGFILES%%
CompressCommand pkzip -q d:¥logarchs¥log%%DATE%%.tar %%LOGFILES%%
なし
このディレクティブは、ログの圧縮後、いつログを削除するかを指定する場合に使用します。 ログは、CompressDeleteAge の値に設定された日数より古くなると削除されます。CompressDeleteAge を 0 に設定するか、あるいは CompressAge ディレクティブに設定された値より低い場合には、ログは削除されません。
CompressDeleteAge number_of_days
CompressDeleteAge 7
圧縮したい HTTP 応答のコンテンツ・タイプを指定するには、 このディレクティブを使用します。
HTTP 応答を圧縮すると、ネットワーク負荷の軽減に役立ち、 プロキシー・サーバーのパフォーマンスも改善されます。 圧縮フィルター機能が有効になっている場合、 ブラウザーで HTTP 圧縮がサポートされていて、 HTTP 応答が現在のところ圧縮されていなければ、 Caching Proxy は HTTP 応答を圧縮し、圧縮したコンテンツをブラウザーに戻します。
圧縮フィルター機能を有効にするには、 次の 2 つのディレクティブを ibmproxy.conf ファイルに追加します。
CompressionFilterEnable /opt/ibm/edge/cp/lib/mod_z.sl CompressionFilterAddContentType type-1[,type-n]
CompressionFilterEnable /opt/ibm/edge/cp/lib/mod_z.so CompressionFilterAddContentType type-1[,type-n]
CompressionFilterEnable C:¥Program Files¥IBM¥edge¥cachingproxy¥cp¥Bin¥mod_z.dll CompressionFilterAddContentType type-1[,type-n]
CompressionFilterEnable ディレクティブで参照された mod_z ライブラリーは、 zlib1.1.4 の動的バージョンです。
type-n 変数は、コンテンツ・タイプ・ヘッダーの有効な任意の値です。 例えば、text/html または image/bmp がこれに相当します。
なし
このディレクティブは、バックエンド・サーバーからの、 またはプロキシー・サーバーのキャッシュからの、 HTTP 応答を圧縮するための圧縮フィルターを有効にする場合に、使用します。
このディレクティブの使用方法の例については、 CompressionFilterAddContentType - 圧縮したい HTTP 応答のコンテンツ・タイプを指定するを参照してください。
なし
このディレクティブは、追加の構成ファイルの名前および場所を指定する場合に使用します。特定の構成ファイル内で見つかったディレクティブは、現在の構成ファイルの後で処理されます。
なし
このディレクティブを使用して、 接続の管理に使用する接続スレッドの数を定義します。
ConnThreads number
ConnThreads 5
クライアント接続が終了した場合にも、Caching Proxy がキャッシュ・ファイルを作成し終わるために、要求されたファイルの うちのどれだけの部分を転送しなければならないかを指定するとき、このディレクティブを使用します。この変数の 有効な値は 0 から 100 までの範囲の整数です。
例えば、ContinueCaching 75 を指定すると、Caching Proxy がクライアント接続の終了を検出するまでにファイルの 75% 以上が既に転送されている場合は、Caching Proxy は、コンテンツ・サーバーからのファイルの転送を継続し、キャッシュ・ファイルを生成します。
ContinueCaching percentage
ContinueCaching 75
このディレクティブは、レーティング・サービス情報を含めて、コンテンツの URL をフィルターに掛けるために必要な情報をプロキシーに提供するときに使用します。このディレクティブは、複数回指定することができます。
DefinePicsRule "filter_name" {
DefinePicsRule "RSAC Example" {
このディレクティブを使用して、デフォルトの保護セットアップを、テンプレートと一致する要求に関連付けます。
DefProt request_template setup_name [FOR server_IP_address | host_name]
要求がこのテンプレートと一致しても、後続の Protect ディレクティブのテンプレートと一致しなければ、この要求の保護は活動化されません。Protect ディレクティブを DefProt とともに使用する方法の説明については、Protect - テンプレートと一致する要求の保護セットアップを活動化するを参照してください。
IP アドレス (例えば、FOR 240.146.167.72) を指定するか、あるいはホスト名 (例えば、FOR hostA.bcd.com) を指定することができます。
このパラメーターはオプションです。このパラメーターを指定しないと、サーバーは、要求を受信する IP アドレスや URL のホスト名に関係なく、このディレクティブを使用してすべての要求を処理します。
ワイルドカード文字をサーバーの IP アドレスとして指定することはできません。
DefProt /secret/* /server/protect/setup1.acc
DefProt /secret/* SECRET-PROT
DefProt { AuthType Basic ServerID restricted PasswdFile /docs/etc/WWW/restrict.password GroupFile /docs/etc/WWW/restrict.group GetMask authors PutMask authors }
DefProt /secret/* CustomerA-PROT 0.67.106.79 DefProt /secret/* CustomerB-PROT 0.83.100.45
DefProt /secret/* CustomerA-PROT hostA.bcd.com DefProt /secret/* CustomerB-PROT hostB.bcd.com
なし
このディレクティブは、キャッシュ・エージェントが宛先サーバーに要求を送信する間隔をあけるかどうかを指定するために使用します。要求間の遅延を指定すると、宛先サーバーの負荷だけでなく、プロキシー・マシンおよびユーザーのネットワーク・リンクの負荷も軽減されます。遅延を指定しない場合には、キャッシュ・エージェントは最高速度で稼働します。低速のインターネット接続の場合には、ネットワークの最大使用を達成するために、遅延期間は指定しないことを考慮してください。
DelayPeriod {on | off}
DelayPeriod On
このディレクティブは、キャッシュ・エージェントがホスト間のハイパーテキスト・リンクをたどるかどうかを指定するために使用します。キャッシュに格納された URL に他のサーバーへのリンクが含まれている場合、サーバーは、そのリンク を無視することもたどることもできます。DelveInto ディレクティブが never に設定されている場合は、このディレクティブは適用されません。
DelveAcrossHosts {on | off}
DelveAcrossHosts Off
このディレクティブは、キャッシュにロードするページの検索時にたどるリンク・レベルの数を指定するときに使用します。DelveInto ディレクティブが never に設定されている場合は、このディレクティブは適用されません。
DelveDepth number_of_levels
DelveDepth 2
このディレクティブは、キャッシュ・エージェントがキャッシュに入れられた URL からのリンクをたどってページをロードするかどうかを指定するときに使用します。
DelveInto {always | never | admin | topn}
DelveInto always
このディレクティブは、背景イメージをプロキシー・サーバーによって生成されたディレクトリー・リストに適用するのに使用します。ディレクトリー・リストは、プロキシー・サーバーが FTP サイトのブラウズに使用されたときに生成されます。
背景イメージの絶対パスを指定してください。イメージが別のサーバーにある場合は、背景イメージは完全な URL として指定しなければなりません。背景イメージが指定されていない場合は、プレーンな白い背景が使用されます。
DirBackgroundImage /path/file
DirBackgroundImage /images/corplogo.png DirBackgroundimage http://www.somehost.com/graphics/embossed.gif
なし
このディレクティブを使用して、1 KB より小さいファイルの正確なバイト・カウントをディレクトリー・リストに表示するかどうかを指定します。値が Off の場合は、ディレクトリー・リストでは、サイズが 1 KB 以下のファイルはすべて、サイズが 1 KB と表示されます。
DirShowBytes {on | off}
DirShowBytes Off
このディレクティブを使用して、ディレクトリー・リスト上のファイル名のソート時に大文字と小文字を区別するかどうかを指定します。
On の値は、ファイルのリスト中で大文字が小文字の前に置かれることを意味します。
DirShowCase {on | off}
DirShowCase On
このディレクティブは、ディレクトリー・リストに各ファイルが最後に変更された日付を含めるかどうかを指定するときに使用します。
DirShowDate {on | off}
DirShowDate On
このディレクティブを使用して、HTML ファイルの記述をディレクトリー・リストに表示するかどうかを指定します。 記述は、ファイルの HTML <title> タグから取得されます。
FTP ディレクトリー・リストの記述は、判別できる場合は MIME タイプを示しています。
DirShowDescription {on | off}
DirShowDescription On
このディレクティブを使用して、ディレクトリー中の隠しファイルをディレクトリー・リストに表示するかどうかを指定します。サーバーは、ピリオド (.) で始まる名前を持つすべてのファイルを隠しファイルと見なします。
DirShowHidden {on | off}
DirShowHidden On
このディレクティブは、サーバーがアイコンをディレクトリー・リストに組み込むかどうかを指定するときに使用します。アイコンを使用すれば、リスト内のファイルのコンテンツ・タイプをグラフィックで表示することができます。アイコンそのものは、AddBlankIcon、AddDirIcon、AddIcon、AddParentIcon、および AddUnknownIcon ディレクティブで定義されます。
DirShowIcons {on | off}
DirShowIcons On
このディレクティブを使用して、ディレクトリー・リストの記述フィールドに表示される文字の最大文字数を設定します。
DirShowMaxDescrLength number_of_characters
DirShowMaxDescrLength 25
このディレクティブを使用して、ディレクトリー・リストのファイル名に使用される文字の最大文字数を設定します。
DirShowMaxDescrLength number_of_characters
DirShowMaxLength 25
このディレクティブを使用して、ディレクトリー・リストのファイル名用に常に確保される最小の文字数を設定します。ディレクトリー内のファイル名は、この数字を超えても構いません。ただし、ファイル名は、DirShowMaxLength ディレクティブで指定した数字を超えてはなりません。
DirShowMinLength number_of_characters
DirShowMinLength 15
このディレクティブを使用して、ファイルのサイズをディレクトリー・リストに表示するかどうかを指定します。
DirShowSize {on | off}
DirShowSize On
このディレクティブは、サーバーが受け入れない HTTP メソッドを指定するときに使用します。サーバーが拒否するメソッドごとに、別個の Disable ディレクティブを入力してください。
デフォルト構成ファイルでは、GET、HEAD、OPTIONS、POST、および TRACE メソッド が使用可能であり、サポートされているその他すべての HTTP メソッドは使用不可です。現在使用可能になっているメソッドを使用不可にするには、そのメソッドを Enable ディレクティブから削除し、Disable ディレクティブに追加します。
Disable method
Disable PUT Disable DELETE Disable CONNECT
このディレクティブを使用して、どの環境変数を CGI プログラムに継承させないかを指定します (ただし、CGI 処理特有の CGI 環境変数は除きます)。
デフォルトでは、すべての環境変数が CGI プログラムによって継承されます。 このディレクティブは、個々の環境変数を継承から除外するときに使用します。
DisInheritEnv environment_variable
DisInheritEnv PATH DisInheritEnv LANG
この例では、PATH と LANG を除くすべての環境変数が CGI プログラムによって継承されます。
なし
このディレクティブは、サーバーが要求クライアントのホスト名を検索するかどうかを指定するときに使用します。
DNS-Lookup {on | off}
使用する値は、サーバーの働き方に関する以下のものに影響を与えます。
DNS-Lookup Off
このディレクティブは、サーバーがどの HTTP メソッドを受け入れるかを指定するときに使用します。
必要に応じていくつでも HTTP メソッドを使用可能にすることができます。サーバーが受け入れるメソッドごとに、別個の Enable ディレクティブを入力してください。
Enable method
特定の URL に Service ディレクティブがない場合は、Enable ディレクティブを使用して、任意の HTTP メソッドについてカスタマイズ済みプログラミングを行うことができます。このディレクティブに指定するプログラムは、そのメソッドの標準処理をオーバーライドします。
Enable method /path/fileDLL:function_name
Enable CONNECT メソッドのフォーマット および使用可能なオプションについては、 SSL トンネリングの構成を参照してください。
Enable GET Enable HEAD Enable POST Enable TRACE Enable OPTIONS
このディレクティブは、TCP NODELAY ソケット・オプションを使用可能にするために使用します。
EnableTcpNodelay ディレクティブは、 小さな IP パケット (SSL ハンドシェークまたは短い HTTP 応答など) が Caching Proxy と クライアントの間で送信される場合にパフォーマンスを高めます。 デフォルトでは、TCP NODELAY オプションはすべてのソケットで 使用可能にされています。
EnableTcpNodelay {All | HTTP | HTTPS | None}
EnableTcpNodelay All
このディレクティブを使用して、エラー・ステップ実行中にサーバーで呼び出したいカスタマイズ済みアプリケーション関数を指定します。このコードは、エラーが起こった場合に実行され、カスタマイズ済みエラー・ルーチンを提供します。
Error request_template /path/file:function_name
Error /index.html /ics/api/bin/icsext05.so:error_rtns
なし
このディレクティブを使用して、サーバーに内部エラーのログ記録に使用させたいファイルのパス名とファイル名を指定します。
サーバーが稼働中であれば、毎日真夜中に新規ログ・ファイルを開始します。それ以外の場合には、サーバーは、その日におけるサーバーの最初の始動時に新規ログ・ファイルを開始します。 ファイル作成時に、サーバーは、指定されたファイル名を使用し、日付接尾部を付加します。日付接尾部は、Mmmddyyyy という形式です。ここで、Mmm は月の最初の 3 文字を表し、dd は日を表し、また、yyyy は年を表します。
ErrorLog /path/logs_directory/file_name
このディレクティブを使用して、サーバーに特定のエラー条件が起こったときに、要求側クライアントに送信するファイルの名前を指定します。エラー・キーワードとエラー・メッセージ・ファイルを関連付ける ErrorPage ディレクティブは、構成ファイル ibmproxy.conf により提供されます。
エラー・メッセージをカスタマイズする場合は、ErrorPage ディレクティブを変更してエラー・キーワードを異なるファイルと関連付けたり、または提供されているエラー・メッセージ・ファイルを変更したりすることができます。例えば、メッセージを変更して問題の原因に関するより多くの情報を含め、それを解決する可能な方法を示すことができます。内部ネットワークの場合は、ユーザーの連絡先となる担当者を示すことができます。
ErrorPage ディレクティブは、構成ファイルの任意の場所に入れることができます。エラーが起こると、このファイルは構成ファイルに定義されたマッピング規則に従って処理されます。このため、送信するファイルは、Fail、Map、NameTrans、 Pass、Redirect、および Service の 各ディレクティブによって定義されたマッピング規則を介して到達可能な場所になければなりません。少なくとも、サーバーがエラー・メッセージ・ファイルを渡すことができるようにする Pass ディレクティブが必要です。
ErrorPage keyword /path/filename.html
ErrorPage scriptstart /HTML/errorpages/scriptstart.htmls
この例では、scriptstart 条件が生じると、サーバーは、/HTML/errorpages/ ディレクトリーで検出される scriptstart.htmls ファイルをクライアントに送信します。
以下の HTML テキストは、このファイルに含まれることがあるテキストの例です。
<HTML> <HEAD> <TITLE>Message for SCRIPTSTART condition</TITLE> </HEAD> <BODY> The CGI program could not be started. <P> <A HREF="mailto:admin@websvr.com">Notify the administrator</A> of this problem. </BODY> </HTML>
サーバーの構成ファイル内の上記のパスと一致するディレクティブが PASS /* /wwwhome/* であれば、このメッセージ・ファイルの絶対パスは /wwwhome/HTML/errorpages/scriptstart.htmls となります。
エラー条件はそれぞれキーワードによって識別されます。どのエラー・メッセージをカスタマイズするかを決めるには、まず、Caching Proxy で提供されたエラー・メッセージ・ファイルを調べます。これは、/HTML/errorpages の中にあります。エラー・ページには、エラー番号、デフォルト・メッセージ、原因の説明、および該当するリカバリー・アクションが含まれています。
次に、エラー・メッセージを変更するには、以下のいずれかを実行してください。
すべてのキーワードおよびデフォルトのエラー・メッセージ・ファイルは、ファイル ibmproxy.conf の ErrorPage ディレクティブ・セクションにリストされています。エラー・メッセージ・ファイルには、エラー・メッセージ番号、キーワード、デフォルト・メッセージ、説明、およびユーザー応答 (アクション) が含まれています。
ファイル ibmproxy.conf には、多数のデフォルトが組み込まれています。
ErrorPage ディレクティブをエラー条件に変更しないと、その条件に対するサーバーのデフォルトのエラー・ページが送信されます。
このディレクティブは、イベント・ログのパスとファイル名を指定するときに使用します。イベント・ログは、キャッシュ自体に関する通知メッセージを取り込みます。
サーバーが稼働中であれば、毎日真夜中に新規ログ・ファイルを開始します。それ以外の場合には、サーバーは、その日におけるサーバーの最初の始動時に新規ログ・ファイルを開始します。 ファイル作成時に、サーバーは、指定されたファイル名を使用し、日付接尾部を付加します。日付接尾部は、Mmmddyyyy という形式です。ここで、Mmm は月の最初の 3 文字を表し、dd は日を表し、また、yyyy は年を表します。
EventLog /path/logs_directory/file_name
このディレクティブを使用して、CGI プログラムの実行によって受け入れ、応答する要求のためのテンプレートを指定します。要求は、Exec ディレクティブのテンプレートに一致すると、後続のディレクティブの要求テンプレートとは比較されません。
Exec request_template program_path [Server_IP_address | host_name]
request_template と program_path の両方で、ワイルドカードとしてアスタリスク (*) を使用する必要があります。request_template のワイルドカードと一致する要求の一部は、CGI プログラムが入っているファイルの名前で始まっていなくてはなりません。
要求には、PATH_INFO 環境変数に入れて CGI プログラムに渡す追加データが含まれていることもあります。追加データは、要求にある CGI プログラム・ファイル名の後の最初のスラッシュ (/) の後に続きます。このデータは、CGI の指定に従って渡されます。
Exec ディレクティブは再帰的ディレクティブで、すべてのサブディレクトリーに適用されます。cgi-bin および admin-bin のそれぞれのディレクトリーごとに、別々の Exec ディレクティブを使用する必要はありません。
IP アドレス (例えば、240.146.167.72) またはホスト名 (例えば、hostA.bcd.com) を指定することができます。
このパラメーターはオプションです。このパラメーターを指定しない場合、サーバーは、要求を受信する IP アドレスや URL のホスト名に関係なく、このディレクティブを使用してすべての要求を処理します。
サーバー IP アドレスの指定にワイルドカード文字を使用することはできません。
以下の例において、サーバーが /idd/depts/plan/c92 という要求を受信すると、/depts/bin/plan.exe に入っている CGI プログラムを、c92 を入力としてそのプログラムに渡して実行します。
以下の例では、オプションの IP アドレス・パラメーターを使用しています。サーバーが /cgi-bin/ で始まる要求を受信した場合には、その要求が入ってきたネットワーク接続の IP アドレスを基にして、別のディレクトリーからの要求にサービスします。130.146.167.72 に入ってくる要求では、サーバーは /CGI-BIN/customerA ディレクトリーを使用します。 アドレス 0.83.100.45 の接続に入ってくる要求の場合には、サーバーは /CGI-BIN/customerB ディレクトリーを使用します。
Exec /cgi-bin/* /CGI-BIN/customerA/* 130.129.167.72 Exec /cgi-bin/* /CGI-BIN/customerB/* 0.83.100.45
以下の例では、オプションのホスト名パラメーターを使用しています。サーバーは、/cgi-bin で始まる要求を受信すると、URL 内のホスト名に基づいて、別のディレクトリーからの要求を処理します。 hostA.bcd.com に送信された要求に対して、サーバーは /CGI-BIN/customerA ディレクトリーを使用します。 hostB.bcd.com に送信された要求に対して、サーバーは /CGI-BIN/customerB ディレクトリーを使用します。
Exec /cgi-bin/* /CGI-BIN/customerA/* hostA.bcd.com Exec /cgi-bin/* /CGI-BIN/customerB/* hostB.bcd.com
Exec /cgi-bin/* /opt/ibm/edge/cp/server_root/cgi-bin/* Exec /admin-bin/* /opt/ibm/edge/cp/server_root/admin-bin/*
Exec server_root/cgi-bin/* Exec server_root/admin-bin/* Exec server_root/DOCS/admin-bin/*
このディレクティブを使用して、キャッシュのコンテンツをダンプ・ファイルにエクスポートします。再始動時にメモリー・キャッシュが破損したり、同じキャッシュを複数のプロキシーに配置する場合などに役立つ機能です。
ExportCacheImageTo export_file_name
なし
これは、リバース・プロキシー構成にのみ適用されます。
このディレクティブを使用して、動的リソースをキャッシングできる IBM® WebSphere® Application Server (Caching Proxy アダプター・モジュールで構成される) を 認識するための Caching Proxy を構成します。Caching Proxy では、アプリケーション・サーバー の動的キャッシュにも保管されている JSP の結果のコピーが保存されます。 Caching Proxy は、IBM WebSphere Application Server からそのグループ ID が ExternalCacheManager 項目と一致する内容だけをキャッシュします。
この機能を使用するために、Caching Proxy 構成ファイルに Service ディレクティブを追加する必要があることにも注意してください。 アプリケーション・ サーバーでも、追加の構成ステップが必要です。詳しくは、動的に生成されたコンテンツのキャッシングを 参照してください。
ExternalCacheManager External_Cache_Manager_ID Maximum_Expiry_Time
以下の項目は、www.xyz.com ドメイン内にある、そのリソースが 20 秒またはそれ以前に有効期限切れとなる外部キャッシュ・マネージャー (IBM WebSphere Application Server) を定義します。
ExternalCacheManager IBM-CP-XYZ-1 20 seconds
なし
このディレクティブは、サーバーが処理する必要のない要求のためのテンプレートを指定するときに使用します。要求は、Fail ディレクティブのテンプレートに一致すると、後続のディレクティブの要求テンプレートとは比較されません。
Fail request_template [Server_IP_address | host_name]
テンプレートではアスタリスクをワイルドカードとして使用できます。スラッシュ (/) の直後の波形記号 (~) は明示的に一致しなければならず、このためにワイルドカードを使用することはできません。
IP アドレス (例えば、240.146.167.72) またはホスト名 (例えば、hostA.bcd.com) を指定することができます。
このパラメーターはオプションです。このパラメーターを指定しない場合、サーバーは、要求を受信する IP アドレスや URL のホスト名に関係なく、このディレクティブを使用してすべての要求を処理します。
ワイルドカード文字をサーバーの IP アドレスとして指定することはできません。
以下の例で、サーバーは /usr/local/private/ で始まるすべての要求を拒否します。
Fail /usr/local/private/*
以下の例では、オプションの IP アドレス・パラメーターを使用しています。 サーバーは、要求が IP アドレス 240.146.167.72 のネットワーク接続で入ってきている場合には、/customerB/ で始まるすべての要求を拒否します。サーバーは、要求が IP アドレス 0.83.100.45 のネットワーク接続で入ってきている場合には、/customerA/ で始まるすべての要求を拒否します。
Fail /customerB/* 240.146.167.72 Fail /customerA/* 0.83.100.45
以下の例では、オプションのホスト名パラメーターを使用しています。 hostA.bcd.com に要求が出された場合は、サーバーは、/customerB/ で始まるすべての要求を拒否します。hostB.bcd.com に要求が出された場合は、サーバーは、 /customerA/ で始まるすべての要求を拒否します。
Fail /customerB/* hostA.bcd.com Fail /customerA/* hostB.bcd.com
なし
このディレクティブを使用して、SSL 接続における SSLV3 および TLS プロトコルの FIPS 承認済み暗号を使用可能にします。 このディレクティブが使用可能になると、サポートされる SSLV3 用暗号仕様 (V3CipherSpecs ディレクティブ) のリストは無視されます。また、 許可された TLS 暗号仕様は、352F0AFF09FE に設定され、SSLV3 暗号仕様は FFFE に設定されます。
FIPSEnable {on | off}
FIPSEnable off
SOCKS 構成ファイルを使用して、確立する接続のタイプを決定するようプロキシーに指示する とき、このディレクティブを使用します。
flexibleSocks {on | off}
flexibleSocks on
このディレクティブは、FTP サーバーがディレクトリーのウェルカム・メッセージまたは記述メッセージを生成できるようにする場合に使用します。このメッセージは、オプションで FTP リストの一部として表示することができます。FTPDirInfo ディレクティブを使用すると、メッセージを表示する場所が制御できるようになります。
FTPDirInfo {top | bottom | off}
FTPDirInfo top
プロキシー・サーバーがプロキシー・チェーンの一部である場合は、このサーバーが FTP 要求のために接続する必要がある別のプロキシーの名前を指定するために、このディレクティブを使用してください。 末尾のスラッシュ文字 (/) を含めた完全な URL を指定しなければなりません。オプショナルのドメイン名またはテンプレートの使用については、no_proxy - ドメインに直接接続するためのテンプレートを指定するを参照してください。
これは、フォワード・プロキシー構成にのみ適用されます。
ftp_proxy full_URL [domain_name_or_template]
ftp_proxy http:// outer.proxy.server/
なし
このディレクティブは、FTP URL にあるパス情報が、ログイン・ユーザーの作業ディレクトリーと相対的と解釈するか、あるいはルート・ディレクトリーと相対的と解釈するかを指定するときに使用します。
FTPUrlPath {relative | absolute}
FTPUrlPath ディレクティブを absolute に設定した場合は、ログイン・ユーザーの FTP 作業ディレクトリーを FTP URL パスに含める必要があります。FTPUrlPath Relative が指定されている場合は、ログイン・ユーザーの FTP 作業ディレクトリーは FTP URL から省略されていなければなりません。例えば、ログイン・ユーザーのための作業ディレクトリー /export/home/user1 に含まれているファイル test1.html にアクセスするには、FTPUrlPath ディレクティブの設定によって異なりますが、以下のような URL パスが必要です。
なし
このディレクティブは、ガーベッジ・コレクションが使用されるかどうかを指定するときに使用します。キャッシングが使用可能になっている場合に、サーバーは、ガーベッジ・コレクション・プロセスを使用して、キャッシュに格納してはならないファイルを削除します。ファイルは、有効期限および他の Proxy ディレクティブ値に基づいて削除されます。一般に、キャッシングが使用可能になっていれば、ガーベッジ・コレクションが使用されます。ガーベッジ・コレクションが使用されない場合は、プロキシー・キャッシュは効率的に使用されません。
Gc {on | off}
Gc On
このディレクティブは、サーバーをガーベッジ・コレクションに使用したいカスタマイズ済みアプリケーションを指定するときに使用します。
GCAdvisor /path/file:function_name
GCAdvisor /api/bin/customadvise.so:gcadv
このディレクティブは、ガーベッジ・コレクションのトリガーとなるために埋め込まれている必要がある全キャッシュ容量のパーセンテージを指定するときに使用します。このパーセンテージは、最高水準点 と呼ばれます。最高水準点は、全キャッシュ容量に対するパーセンテージとして指定します。ガーベッジ・コレクションは、 最低水準点に達するまで継続されます — この設定については、GcLowWater - ガーベッジ・コレクションをいつ終了するかを指定するを参照してください。 最高水準点のパーセンテージは、50 と 95 間で設定できます。
GcHighWater percentage
GcHighWater 90
このディレクティブは、ガーベッジ・コレクションの終了のトリガーとなる全キャッシュ容量のパーセンテージを指定するときに使用します。このパーセンテージは、最低水準点 として知られています。最低水準点は、全キャッシュ容量に対するパーセンテージとして指定します。値は、最高水準点に設定した値より低い値に設定しなければなりません。最高水準点の設定については、GcHighWater - ガーベッジ・コレクションをいつ開始するかを指定するを参照してください。
GcLowWater percentage
GcLowWater 60
プロキシー・サーバーがプロキシー・チェーンの一部である場合は、このサーバーが Gopher 要求のために接続する必要がある別のプロキシーの名前を指定するために、このディレクティブを使用してください。 末尾のスラッシュ (/) を含めた完全な URL を指定しなければなりません。 オプショナルのドメイン名またはテンプレートの使用については、no_proxy - ドメインに直接接続するためのテンプレートを指定するを参照してください。
これは、フォワード・プロキシー構成にのみ適用されます。
gopher_proxy full_URL[domain_name_or_template]
gopher_proxy http://outer.proxy.server/
なし
このディレクティブは、サーバーがファイルにアクセスする前に変更する先のグループ名または番号を指定するときに使用します。
このディレクティブを変更した場合は、手動でサーバーを停止してから再始動しなければ、変更が有効になりません。サーバーを再始動しただけでは、変更は有効になりません。(Caching Proxy の開始および停止を参照してください。)
GroupId { group_name | group_number}
AIX: GroupId nobody
HP-UX: GroupId other
Linux:
Solaris: GroupId nobody
このディレクティブは、HTTP ヘッダーに戻されるプロキシー・サーバーの名前を指定するときに使用します。
HeaderServerName name
なし
このディレクティブは、ファイル要求からクライアントに戻されるドメイン・ネームまたは IP アドレスを指定する場合に使用します。ドメイン・ネームを指定する場合、ドメイン・ネーム・サーバーは名前を IP アドレスに変換できなければなりません。IP アドレスを指定する場合、ドメイン・ネーム・サーバーは必要なく、またアクセスもされません。
Hostname {name | IP address}
デフォルトでは、このディレクティブは初期構成ファイルには指定されません。構成ファイルにこのディレクティブを指定しないと、値はデフォルトによってユーザーのドメイン・ネーム・サーバーに定義されたホスト名となります。
プロキシー・サーバーがプロキシー・チェーンの一部である場合は、このサーバーが HTTP 要求のために接続する必要がある別のプロキシーの名前を指定するために、このディレクティブを使用してください。 末尾のスラッシュ (/) を含めた完全な URL を指定しなければなりません。 オプショナルのドメイン名またはテンプレートの使用については、no_proxy - ドメインに直接接続するためのテンプレートを指定するを参照してください。
http_proxy full_URL[domain_name_or_template]
http://outer.proxy.server/
なし
このディレクティブは、Caching Proxy が URL のためのセキュアでないホーム・ページを検索し、その中でラベルを見つけようとするかどうかを指定するときに使用します。ラベルが見つかると、それらはセキュア要求に適用されます。例えば、https://www.ibm.com/ を要求した場合に、Caching Proxy は http://www.ibm.com/ からラベルを検索し、見つかったラベルを使用して https://www.ibm.com/ をフィルターに掛けます。
HTTPSCheckRoot を Off に設定した場合には、Caching Proxy はセキュアでないホーム・ページと、その中のラベルを検索しません。
HTTPSCheckRoot {on | off}
HTTPSCheckRoot on
このサブディレクティブは、ICP 照会の送信および受信に使用する IP アドレスを指定するために使用します。これは、<MODULEBEGIN> ICP ディレクティブと <MODULEEND> ディレクティブの間に入れる必要があります。
ICP_Address IP_address
デフォルトでは、このディレクティブは初期構成ファイルには指定されません。構成ファイルにこのディレクティブを指定しないと、デフォルトはすべてのインターフェースで ICP 照会を受け入れおよび送信する値になります。
このサブディレクティブは、ICP 照会を listen するために作成されるスレッド数を指定するために使用します。これは、<MODULEBEGIN> ICP ディレクティブと <MODULEEND> ディレクティブの間に入れる必要があります。
ICP_MaxThreads number_of_threads
ICP_MaxThreads 5
プロキシー・サーバーが ICP クラスターの一部である場合に、このサブディレクティブは ICP ピアを指定するために使用します。これは、<MODULEBEGIN> ICP ディレクティブと <MODULEEND> ディレクティブの間に入れる必要があります。
ICP クラスターに新しいピアを追加する場合には、既存のすべてのピアの構成ファイルに ICP ピア情報を追加する必要が あります。それぞれのピアに 1 行を使用してください。ピア・リストには、現行のホストも含めることができます。 ICP の初期化時には、現行のホスト項目は無視されます。これにより、構成ファイルを編集して現行のホストを 除去しなくても、他のピア・マシンにコピーできる単一の構成ファイルを持つことができます。
ICP_Peer hostname http_port icp_port
以下の行は、プロキシー・ポートが 80 で ICP ポートが 3128 のホスト abc.xcompany.com をピアとして追加します。
ICP_Peer abc.xcompany.com 80 3128
なし
このサブディレクティブは、ICP サーバーが ICP 照会を listen するポート番号を指定するために使用します。これは、<MODULEBEGIN> ICP ディレクティブと <MODULEEND> ディレクティブの間に入れる必要があります。
ICP_Port port_number
ICP_Port 3128
このサブディレクティブは、Caching Proxy が ICP 照会に対する応答を待機する最長時間を指定するために使用します。この時間はミリ秒で指定します。 これは、<MODULEBEGIN> ICP ディレクティブと <MODULEEND> ディレクティブの間に入れる必要があります。
ICP_Timeout timeout_in_milliseconds
ICP_Timeout 2000
このディレクティブは、キャッシュ・エージェントがロードしない URL を指定するときに使用します。このディレクティブは、キャッシュ・エージェントが、キャッシュに格納されている URL からのリンクをたどってページをロードするときに便利です。IgnoreURL ディレクティブを複数回使用して、異なる URL または URL マスクを指定することができます。このディレクティブの値には、マスクに適用するワイルドカードとしてアスタリスク (*) を含めることができます。
IgnoreURL URL
IgnoreURL http://www.yahoo.com/ IgnoreURL http://*.ibm.com/*
IgnoreURL */cgi-bin/*
このディレクティブは、ファイル・システム、CGI プログラム、またはその両方から提供されたファイルについて、サーバー側インクルード処理を実行したいかどうかを指定するときに使用します。サーバー側インクルード処理は、コンテンツ・タイプが ext/x-ssi-html のファイルに対して行われます。オプションで、コンテンツ・タイプが text/html のファイルについてもサーバー側インクルード処理が実行されるように指定することができます。コンテンツ・タイプの詳細については、AddType - 特定の接尾部を持つファイルのデータ・タイプを指定するを参照してください。
サーバー側インクルード処理を使用すれば、戻されているファイルに情報を動的に挿入することができます。このような 情報には、日付、ファイルのサイズ、ファイルの最終変更日、CGI またはサーバー側インクルード環境変数、および テキスト・ファイルを含めることができます。サーバー側インクルード処理は、送信元がローカルであるファイルについてのみ 実行されます。Caching Proxy は、プロキシーまたはキャッシュ・オブジェクトに対してはサーバー側インクルード処理を 実行しません。
サーバー側インクルードを使用すると、サーバーは、特殊コマンドが使用されるつど、それらのコマンドをファイルの中から探し出します。このため、サーバーのパフォーマンスに影響が出てクライアントに対する応答時間が遅くなることがあります。
imbeds {on | off | files | cgi | noexec} {SSIOnly | html}
サーバーは、検索した各ファイルのコンテンツ・タイプと、処理した各 CGI プログラムの出力をチェックします。
通常、サーバー側インクルード処理は、text/x-ssi/html のコンテンツ・タイプを持つファイルに対してのみ行われます。ただし、text/html のコンテンツ・タイプを持つファイルをサーバー側インクルード処理するように指定することができます。
各接尾部には、正しいコンテンツ・タイプで AddType ディレクティブを定義する必要があります。.htm や .html 以外の接尾部を使用する場合は、AddType ディレクティブが text/x-ssi/html のコンテンツ・タイプで定義されていることを確認してください。
imbeds on SSIOnly
このディレクティブを使用して、キャッシュのコンテンツをダンプ・ファイルからインポートします。再始動時にメモリー・キャッシュが破損したり、同じキャッシュを複数のプロキシーに配置する場合などに役立つ機能です。
ImportCacheImageFrom import_file_name
なし
このディレクティブを使用して、どの環境変数を CGI プログラムに継承させるかを指定します (ただし、CGI 処理特有の CGI 環境変数は除きます)。
InheritEnv ディレクティブを含めないと、すべての環境変数が CGI プログラムによって継承されます。InheritEnv ディレクティブを含めると、InheritEnv ディレクティブに指定された環境変数だけが、CGI 特有の環境変数と一緒に継承されます。 このディレクティブを使用すると、継承した変数の値をオプションで初期化することができます。
InheritEnv environment_variable
InheritEnv PATH InheritEnv LANG=ENUS
この例では、PATH および LANG 環境変数だけが CGI プログラムによって継承され、LANG 環境変数は ENUS の値で初期化されます。
なし。デフォルトでは、すべての環境変数が CGI プログラムによって継承されます。
このディレクティブを使用して、クライアントがサーバーに接続した後に要求を送信できる時間を設定します。まずクライアントはサーバーに接続し、次に要求を送信します。このディレクティブによって指定された時間内にクライアントが要求を送信しなければ、サーバーは接続をクローズします。時間の値は、時間 (hours)、分 (minutes または mins)、および秒 (seconds または secs) を任意に組み合わせて指定します。
InputTimeout time
InputTimeout 3 mins 30 secs
InputTimeout 2 minutes
このディレクティブは JunctionRewrite プラグインのデフォルトのアクションをオーバーライドし、 プロキシーが HTML ページ中の特定の URL リンクを訂正することを可能にしています。 このディレクティブは JunctionRewrite ディレクティブと組み合わせて使用されます。
これは、リバース・プロキシー構成にのみ適用されます。
JunctionReplaceUrlPrefix ディレクティブは、 JunctionRewrite プラグインが URL の先頭に接頭部を挿入するのではなく、 url_pattern_1 か ら url_pattern_2 へと URL を置き換えるように指示します。
JunctionReplaceUrlPrefix url_pattern_1 url_pattern_2
JunctionReplaceUrlPrefix /server1.internaldomain.com/* /server1/*
この例では、URL が /server1.internaldomain.com/notes.nsf であるとし、 接頭部は /server1 であるとします。 URL を /server1/server1.internaldomain.com/notes.nsf に再書き込みす るために接頭部を挿入するのではなく、 JunctionRewrite プラグインは URL を /server1/notes.nsf に変更します。
なし
このディレクティブにより、Caching Proxy 内のジャンクション再書き込みルーチンは、発信元サーバーからの応答を再書き込みして、ジャンクションが使用された場合に、サーバーの相対 URL が適切な発信元サーバーにマップされるようにします。
これは、リバース・プロキシー構成にのみ適用されます。
UseCookie オプションを使用しないで「JunctionRewrite on」を設定した場合は、 ジャンクション再書き込みプラグインも使用可能にする必要があります。ジャンクションは、プロキシー・マッピング・ルールによって定義されます。
JunctionRewrite に関する追加情報については、JunctionRewrite に代わる UseCookieおよびJunctionRewrite 機能を拡張する Transmogrifier プラグインのサンプルを参照してください。
JunctionRewrite {on | on UseCookie | off}
JunctionRewrite off
このディレクティブは、Cookie 名が一致する際に、プロキシーが Set-Cookie ヘッダーのパス・オプションを 再書き込みすることを可能にします。 応答がジャンクションを必要としており、ジャンクションの接頭部が定義されている場合は、 各パスの先頭に接頭部が挿入されます。 このディレクティブは JunctionRewrite プラグインと併せて使用でき、 また RewriteSetCookieDomain ディレクティブと併せて使用できます。
これは、リバース・プロキシー構成にのみ適用されます。
JunctionRewriteSetCookiePath cookie-name1 cookie-name2...
なし
このディレクティブは JunctionRewrite プラグインのデフォルトのアクションをオーバーライドし、 プロキシーが URL パターンに既に一致している場合は URL の再書き込みをス キップさせます。 JunctionRewrite プラグインと併せて使用し、 HTML ページ内の一部の URL リンクを訂正する方法を提供します。 通常、このディレクティブは既に接頭部を含む URL をスキップするために使用されます。
これは、リバース・プロキシー構成にのみ適用されます。
JunctionSkipUrlPrefix url_pattern
JunctionSkipUrlPrefix /server1/*
この例では、URL が /server1/notes.nsf であるとし、 ジャンクション・接頭部は /server1/ であるとします。 URL を /server1/server1/notes.nsf に再書き込みする代わりに、 JunctionRewrite プラグインは URL の再書き込みをスキップし、 URL は /server1/notes.nsf のまま変更されません。
なし
このディレクティブを使用して、キャッシュ・オブジェクトが再検証されている間、 バックエンド・サーバーが要求であふれてしまうのを防ぐ助力をします。
キャッシュ・オブジェクトがバックエンド・サーバー上のコンテンツで再検証されている時、 同じリソースに対する要求は、バックエンド・サーバーに代理要求されます。 同じ要求のあふれが、バックエンド・サーバーをダウンさせる原因になることもあります。 このディレクティブを使用可能にすると、このような状態が発生するのを防ぐ助けとすることが可能です。 そのディレクティブが使用可能になると、リソースがプロキシーで更新済みである場合、 有効期限が切れた、または失効したリソースのコピーは戻されます。
KeepExpired {on | off}
KeepExpired off
このディレクティブは、サーバーが SSL 要求に使用する鍵リング・データベースへのファイル・パスを指定するときに使用します。鍵リング・ファイルは iKeyman 鍵管理ユーティリティーを介して生成されます。
KeyRing filename
Windows: KeyRing C:¥Program Files¥IBM¥edge¥cachingproxy¥cp¥key.kdb
Linux および UNIX: KeyRing /etc/key.kdb
なし
このディレクティブは、鍵リング・データベースのパスワード・ファイルへのファイル・パスを指定するときに使用します。パスワード・ファイルは、鍵リング・データベース・ファイルの構築時に、iKeyman 鍵管理ユーティリティーを介して生成されます。
KeyRingStash file_path
Windows: KeyRingStash key.sth
Linux および UNIX: KeyRingStash /etc/key.sth
なし
このディレクティブは、PUT 要求または POST 要求の最大ボディ・サイズを制御するときに使用します。 LimitRequest ディレクティブは、アタックからプロキシーを保護するために使用されます。
その値は、キロバイト (K)、メガバイト (M)、またはギガバイト (G) で指定することができます。
LimitRequestBody max_body_size {K | M | G}
LimitRequestBody 10 M
このディレクティブを使用して、クライアント要求に送信できるヘッダーの最大数を指定します。LimitRequest ディレクティブは、アタックからプロキシーを保護するために使用されます。
LimitRequestFields number_headers
LimitRequestFields 32
このディレクティブを使用して、要求行の最大長および各要求内のヘッダーの最大長を指定します。LimitRequest ディレクティブは、アタックからプロキシーを保護するために使用されます。
その値は、バイト (B)、キロバイト (K) で指定することができます。
LimitRequestFieldSize max_hdr_length {B | K}
LimitRequestFieldSize 4096 B
このディレクティブは、サーバーが接続拒否を示すメッセージをクライアントに送信する前に持つ listen バックログ・クライアント接続の数を指定するときに使用します。この数は、サーバーが数秒で処理できる要求の数によって異なります。これは、クライアントがタイムアウトとなり、接続を打ち切るまでにサーバーが処理できる数より高い値にしないようにしてください。
ListenBacklog number_of_requests
ListenBacklog 128
このディレクティブは、キャッシュ・エージェントがインライン・イメージを検索するかどうかを指定するために使用します。 LoadInlineImages を On に設定すると、キャッシュに格納中のページに組み込まれているイメージもキャッシュに入れられます。Off に設定した場合には、組み込みイメージはキャッシュに入れられません。
LoadInlineImages {on | off}
LoadInlineImages on
このディレクティブは、前夜のキャッシュ・アクセス・ログにアクセスし、要求された回数の最も多い URL をロードするようキャッシュ・エージェントに指示するときに使用します。
LoadTopCached ディレクティブに値を設定する場合には、Caching ディレクティブを On に設定し、CacheAccessLog ディレクティブの値を設定する必要があります。
LoadTopCached number_of_pages
LoadTopCached 100
このディレクティブは、キャッシュ・エージェントがキャッシュにロードする URL を指定するために使用します。 構成ファイルには複数の LoadURL ディレクティブを組み込むことができますが、ワイルドカードは使用できません。
LoadURL url
LoadURL http://www.ibm.com/
なし
このディレクティブは、ログ・ステップ中にサーバーが呼び出すカスタマイズ済みアプリケーション関数を指定するときに使用します。このコードによって、接続がクローズされた後のログ記録およびその他の処理が提供されます。
Log request_template /path/file:function_name
Log /index.html /api/bin/icsextpgm.so:log_url
なし
このディレクティブは、アーカイブ・ルーチンの動作を指定するときに使用します。このディレクティブは、グローバル設定を持つすべてのログに影響します。これは、ログが圧縮されるか、パージされるか、あるいはログに何も実行されないかを指定します。
Compress を指定した場合は、CompressAge および CompressDeleteAge ディレクティブを使用して、ログがいつ圧縮または削除されるかを指定します。使用するコマンドとそのパラメーターの指定には、CompressCommand ディレクティブを使用します。
Purge を指定した場合は、PurgeAge および PurgeSize ディレクティブを使用して、ログがいつパージされるかを指定します。
LogArchive {Compress | Purge | none}
LogArchive Purge
このディレクティブは、アクセス・ログ・ファイルのフォーマットを指定するときに使用します。
LogFileFormat {common | combined}
デフォルトでは、ログは、NCSA 共通ログ形式で表示されます。代わりに NCSA 結合ログ形式でログを表示するには、combined を指定します。 結合形式では、参照 URL (Referring URL)、ユーザー・エージェント (User Agent)、および Cookie (要求の中にある場合) のフィールドが追加されます。
LogFileFormat common
Windows システム専用です。コマンド行からプロキシーを実行するときには、このディレクティブを使用して、アクセス・ログに出力します。サーバーのパフォーマンスを最適化するために、このディレクティブはデフォルトで Off (使用不可) に設定されています。
LogToGUI {on | off}
LogToGUI off
Linux および UNIX システム専用です。このディレクティブは、サーバーが、アクセス要求とエラーにアクセスおよびエラー・ログ・ファイルだけでなく、システム・ログにも記録するかどうかを指定するときに使用します。
LogToSyslog {on | off}
システム・ログ・ファイルがサーバー上に存在していなければ、そのファイルにエラー・ログ情報を書き込むように指定してはなりません。アクセス情報またはエラー情報、あるいはその両方をログに記録する選択をすることができます。
エラー情報のみをシステム・ログに送るには、/etc/syslog.conf ファイルに以下の行を追加してください。
user.err syslog_output_file_for_error_information
アクセス情報のみをシステム・ログに送るには、/etc/syslog.conf ファイルに以下の行を追加してください。
user.info syslog_info_file_for_access_information
エラー情報とアクセス情報の両方をシステム・ログに送るには、/etc/syslog.conf ファイルに上記の両方の行を追加してください。
syslog_output_file および syslog_info_file は、以下の形式で指定します。
システム・ログ・ファイルを作成した後に、以下のコマンドを使用してそれを再始動できます。
kill -HUP 'cat /etc/syslog.pid'
LogToSyslog Off
このディレクティブを使用して、新しい要求ストリングに変更される要求のためのテンプレートを指定します。 サーバーは、要求を変更すると新しい要求ストリングを使用し、それを後続のディレクティブの要求テンプレートと比較します。
Map ディレクティブでは、 着信要求パス・ストリングを使用して、ルールの突き合わせを行います。 MapQuery - ルールの突き合わせを行うため、要求パスおよび照会ストリングを使用して、 マッチング要求を新規要求ストリングに変更する も参照してください。
Map request_template new_request [server_IP_address | host_name]
テンプレートではアスタリスク (*) をワイルドカードとして使用できます。 スラッシュ (/) の直後の波形記号 (~) は明示的に一致しなければならず、このためにワイルドカードを使用することはできません。
IP アドレス (例えば、240.146.167.72) を指定するか、またはホスト名 (例えば、hostA.raleigh.ibm.com ) を指定することができます。
このパラメーターはオプションです。このパラメーターを指定しない場合、サーバーは、要求を受信する IP アドレスや URL のホスト名に関係なく、このディレクティブを使用してすべての要求を処理します。
ワイルドカード文字をサーバーの IP アドレスとして指定することはできません。
Map /stuff/* /good/stuff/*
Map /stuff/* /customerA/good/stuff/* 240.146.167.72 Map /stuff/* /customerB/good/stuff/* 0.83.104.45
Map /stuff/* /customerA/good/stuff/* hostA.bcd.com Map /stuff/* /customerB/good/stuff/* hostB.bcd.com
なし
このディレクティブを使用して、新しい要求ストリングに変更される要求のためのテンプレートを指定します。 サーバーは、要求を変更すると新しい要求ストリングを使用し、それを後続のディレクティブの要求テンプレートと比較します。
このディレクティブの機能は、Map ルール (Map - ルールの突き合わせを行うため、要求パス・ストリングを使用して、マッチング要求を新規要求ストリングに変更する) とほとんど同じです。 ただし、照会ストリング付きの URL を処理するために、 MapQuery は、パス・ストリングと照会ストリングの両方を使用してルールの突き合わせをします。 着信 URL が MapQuery ルールで一致すると、 残りのルールとの突き合わせには、変換済みの URL が使用されます。
また MapQuery は、照会ストリング付きの URL を、 異なるパス・ストリングまたは異なる照会ストリングを持つ、 別の URL に変換することもできます。 ただし、他のすべてのマッピング・ディレクティブでは、要求パスのみが使用されるため、 要求パスが一致したときは、 変換済みの URL に変更済みの照会ストリングが付加されるだけになります。 パターンを突き合わせるために、変更済みの照会ストリングが使用されることはありません。
MapQuery request_template new_request [server_IP_address | host_name]
テンプレートではアスタリスク (*) をワイルドカードとして使用できます。 スラッシュ (/) の直後の波形記号 (~) は明示的に一致しなければならず、このためにワイルドカードを使用することはできません。
IP アドレス (例えば、240.146.167.72) を指定するか、またはホスト名 (例えば、hostA.raleigh.ibm.com ) を指定することができます。
このパラメーターはオプションです。このパラメーターを指定しない場合、サーバーは、要求を受信する IP アドレスや URL のホスト名に関係なく、このディレクティブを使用してすべての要求を処理します。
ワイルドカード文字をサーバーの IP アドレスとして指定することはできません。
着信 URL が以下であるとします。
/getsomthing?type=1
また、 MapQuery ルールは以下であるとします。
MapQuery /getsomething?type=* /gettype/*
変換済みの URL は /gettype/1 になり、 これが次のルール・マッピングで使用されます。
Proxy /gettype/* http://server/gettype/*
変換済みの URL は http://server/gettype/1 になります。
なし
このディレクティブを使用して、同時にアクティブにしておきたいスレッドの最大数を設定します。最大数に達すると、サーバーは、別の要求が終了してスレッドが使用可能になるまで、新しい要求を保留します。一般に、マシンの能力が高いほど、このディレクティブに設定する値も高くなります。マシンが、メモリー・スワップなどのオーバーヘッド・タスクにあまりに長く時間がかかるようになった場合は、この値を小さくしてみてください。
MaxActiveThreads number_of_threads
MaxActiveThreads 100
このディレクティブは、サーバーが生成した動的データのためのバッファーのサイズを設定するときに使用します。動的データは、CGI プログラム、サーバー側インクルード、および API プログラムからの出力です。
その値は、バイト (B)、キロバイト (K)、メガバイト (M)、またはギガバイト (G) で指定することができます。 数字と値 (B、K、M、G) の間にスペースが入っていても構いません。
MaxContentLengthBuffer size
MaxContentLengthBuffer 100 K
このディレクティブは、各ログ・ファイルの最大サイズを指定するときに使用します。各ログ・ファイルは、このディレクティブで定義されたサイズを超えることはできません。ログ・ファイルが定義された最大サイズに達すると、現在のログ・ファイルがクローズされ、次のインクリメンタル整数値を付加した新規ログ・ファイルが、同じ名前で作成されます。
MaxLogFileSize ディレクティブを設定するための推奨値は、 最小で 10 M、ただし 200 M より小さい値です。 実際のログ・ファイル・サイズは、ここで設定したサイズより若干大きくなります。 この値を低く設定しすぎると、 プロキシー・サーバーがログ・ファイルをクローズおよびオープンする頻度が高くなるため、 プロキシーのパフォーマンスに好ましくない影響が生じます。 一部のプラットフォームでは、この値を高く設定しすぎると、 プロキシーが入出力バッファーのために、より多くのメモリーを使用する原因になります。 ログ・ファイル・サイズがより大きくなると、 入出力バッファーはオペレーティング・システムによって制御されるようになりますが、 プロキシーがメモリー不足になったり、 メモリー・リークのように見える原因となる可能性があります。
その最大サイズは、バイト (B)、キロバイト (K)、メガバイト (M)、およびギガバイトのいずれかの単位で指定できます。
MaxLogFileSize maximum {B | K | M | G}
MaxLogfileSize 128 M
ただし、ディレクティブがコメント化されている場合は、 ログ・ファイルのサイズに制限はありません。
このディレクティブは、サーバーが持続接続で受け取る要求の最大数を指定するときに使用します。この数値を決定するときは、ページで使用するイメージの数を考慮に入れてください。 イメージごとに別々の要求が必要です。
MaxPersistRequest number
MaxPersistRequest 5
このディレクティブは、キャッシュ・エージェントの未解決ページ検索要求のキューの最大の 項目数を指定するために使用します。 大量のメモリーを備えた大きいシステムの場合には、使用可能なすべてのメモリーを使用しないで、ページ検索要求のキューをより大きく定義することができます。
キャッシュに入れる URL のキューは、キャッシュ・エージェントが実行されるたびに最初に判別されます。キャッシュ・エージェントが他の URL へのハイパーテキスト・リンクをたどるよう指示してある場合は、これら他の URL はキャッシュのキュー項目数には入りません。MaxURLs ディレクティブに指定された値に達すると、キューにそれ以上の URL があっても、キャッシュ・エージェントは停止します。
MaxQueueDepth maximum_depth
MaxQueueDepth 250
このディレクティブは、特定の実行中にキャッシュ・エージェントが URL を検索する最大時間数を指定するときに使用します。値が 0 の場合、完了するまでキャッシュ・エージェントが稼働することを意味します。
MaxRuntime {0 | maximum_time}
MaxRuntime 2 hours 10 minutes
MaxRuntime 2 hours
このディレクティブを使用して、 オープン・アイドル状態のソケットの最大数を設定し、 1 つの起点サーバーで保持できるようにします。このディレクティブは、ServerConnPool ディレクティブを On に設定した場合にのみ使用してください。
MaxSocketPerServer num
MaxSocketPerServer 10
MaxSocketPerServer 5
このディレクティブは、特定の実行中にキャッシュ・エージェントが検索する URL の最大数を指定するときに使用します。値が 0 の場合は、制限がないことを意味します。自動モードのキャッシュ・エージェントを使用している場合は、LoadURL および LoadTopCached ディレクティブが MaxURLs より優先します。
MaxURLs maximum_number
MaxURLs 2000
このディレクティブは、リモート・キャッシュ・アクセスを使用しているサーバーが共有する配列のメンバーを指定するために使用します。
Member name { subdirective subdirective . . }
以下のサブディレクティブが組み込まれています。
Member bittersweet.chocolate.ibm.com { RCAAddr 127.0.0.1 RCAPort 6294 CacheSize 25G Timeout 500 milliseconds BindSpecific On ReuseAddr Off }
なし
このディレクティブは、真夜中にログのアーカイブを実行するアプリケーション・プラグインを指定するために使用します。 このディレクティブは、インストールの実行中に初期化されます。このディレクティブが構成ファイルに含まれていない場合には、アーカイブは実行されません。
Midnight /path/file:function_name
このディレクティブは、名前変換中にサーバーが呼び出すカスタマイズ済みアプリケーション関数を指定するときに使用します。このコードは、要求内の仮想パスをサーバー上の物理パスに変換して、URL を特定のオブジェクトにマッピングするための機構を提供します。
NameTrans request_template /path/file:function_name [Server_IP_address | host_name]
ワイルドカード文字をサーバーの IP アドレスとして指定することはできません。
NameTrans /index.html /api/bin/icsextpgm.so:trans_url
なし
Linux および UNIX プラットフォームでは、このディレクティブは、Caching Proxy サーバー・プロセスが 自動的にバックグラウンドで実行されないようにするために使用します。 デフォルトでは off に設定されるこのディレクティブは、次の形式となります。
NoBG [on | off]
NoBG on
NoBG off
このディレクティブは、指定したテンプレートと URL が一致したファイルはサーバーがキャッシュに入れないことを指定するときに使用します。このディレクティブは、構成ファイル内で複数回使用することができます。 テンプレートごとに別々のディレクティブを組み込んでください。URL テンプレートにはプロトコルを指定しなければなりません。
CacheOnly ディレクティブまたは NoCaching ディレクティブのどちらも設定されていない場合は、任意の URL がキャッシュの対象になります。
NoCaching URL_pattern
NoCaching http://joke/*
なし
このディレクティブは、特定のホストまたは指定したテンプレートと一致するドメインからのアクセス要求はログに記録しないことを指定するときに使用します。例えば、ローカル・ホストからのアクセス要求をログに記録しないようにすることができます。
このディレクティブは、構成ファイル内で複数回使用することができます。 また、テンプレートを 1 つ以上のスペースで区切ると、 同一のディレクティブで複数のテンプレートを指定することもできます。テンプレートでは、ホスト名または IP 番号アドレスを使用することができます。
NoLog {host_name | IP_address} [...]
NoLog 128.0.* *.edu localhost.*
なし
プロキシー・チェーニングのためにディレクティブ http_proxy、ftp_proxy、または gopher_proxy を使用している場合には、このディレクティブを使用して、サーバーがプロキシー経由ではなく、直接接続するドメインを指定することができます。
値は、ドメイン・ネームまたはドメイン・ネーム・テンプレートのストリングとして指定します。 ストリング内の各項目はコンマ (,) で区切ってください。 ストリング内にはスペースを使用しない でください。
このディレクティブ上のテンプレートの入力は、他のディレクティブ上のテンプレートとは異なります。最も重要な 点は、ワイルドカード文字 (*) を使用できない ことです。ドメイン・ネームの最後の部分だけ を使用してテンプレートを指定できます。 サーバーは、指定されたテンプレートと一致する ストリングで終わるドメインに直接接続します。 このディレクティブは、プロキシー・チェーニングにのみ 適用され、SOCKS 構成ファイル内のダイレクト @/= 行と同等です。
no_proxy domain_name_or_template[,...]
no_proxy www.someco.com,.raleigh.ibm.com,.some.host.org:8080
この例では、以下の要求の場合はサーバーはプロキシー経由で接続されません。
なし
デフォルトでは、ブラウザーからの Range 要求を受信した際、 Caching Proxy は、バックエンド・サーバーからのフル応答を必要とします。Caching Proxy は、 要求の Range ヘッダーを除去し、その要求をバックエンド・サーバーに転送します。 応答がプロキシー・サーバーのキャッシュに入ると、 同じリソースに対する以降の要求は、 その要求が Range 要求であるかどうかを問わず、 プロキシー・サーバーからサービスを受けます。 通常、Caching Proxy のデフォルトのアクションにより、 パフォーマンスが向上し、クライアントの応答時間が短縮します。しかし、 応答をキャッシュに入れることができない場合や、応答が非常に大きい場合には、 デフォルトのアクションではパフォーマンスを低下させることがあります。
このデフォルト構成の使用時の問題を解決するには、 NoCacheOnRange ディレクティブを使用します。 このディレクティブで、Range 要求のキャッシングなしを指定します。
このディレクティブを、ibmproxy.conf ファイルでグローバルに使用可能にした場合、 または PROXY マッピング・ルールのオプションとして使用可能にした場合、 Caching Proxy は Range 要求ヘッダーをバックエンド・サーバーに転送します。ただし、 Caching Proxy は、バックエンド・サーバーからの 206 (部分コンテンツ) 応答を キャッシュに入れることはしません。
NoCacheOnRange ディレクティブを使用可能に設定すると、 以下の場合にプロキシーのパフォーマンスが改善されます。
NoCacheOnRange [on | off]
また、プロキシー・マッピング・ルールで NoCacheOnRange を有効にすることもできます。
Proxy /not-cachable/* http://server.com/no-cachable-resources/* NoCacheOnRange
NoCacheOnRange off
このディレクティブは、ブロックするクライアント URL ヘッダーを指定するために使用します。 クライアントによって 送信された任意の HTTP ヘッダーを、必須ヘッダーを含めてブロックすることができます。ヘッダーをブロックして いるときは、十分な注意が必要です。共通ヘッダーには、以下のものが含まれます。
上記およびその他のヘッダーについての詳細は、HTTP のプロトコル仕様書を参照してください。このディレクティブは、複数回指定することができます。
NoProxyHeader header
NoProxyHeader Referer:
なし
このディレクティブは、キャッシュ・エージェントがキュー内のページを検索するときに使用するスレッドの数を指定するために使用します。 スレッドの数を、内部ネットワークおよびインターネットへの接続の速度を基にします。可能な範囲は、1 から 100 までです。
NumClients number
NumClients 4
このディレクティブは、オブジェクト・タイプ・ステップ中にサーバーが呼び出すカスタマイズ済みアプリケーション関数を 指定するときに使用します。このコードは、ファイル・システム内の要求されたオブジェクトを探し出して、その MIME タイプを識別します。
ObjectType request_template /path/file:function_name
ObjectType /index.html /api/bin/icsextpgm.so:obj_type
なし
このディレクティブは、ルールの数が増加したときに、 着信要求のルール・マッピング・プロセスを高速化します。
OptimizeRuleMapping ディレクティブを有効にすると、 プロキシーは、各ルールごとに 1 つずつ着信 URI 要求をマッピングする代わりに、 接頭部ツリーに対して URI をマップします。 接頭部ツリーは、 プロキシーがマッピング・ルール間の冗長なストリング比較を除去するのに役立ちます。 その結果として、構成内のルール数が 300 より大きくなったときに、 Caching Proxy はより良いパフォーマンスが得られます。
OptimizeRuleMapping [on | off ]
OptimizeRuleMapping off
このディレクティブを使用して、サーバーがクライアントに出力を送信できる時間の最大値を設定します。 時間制限は、ローカル・ファイルに対する要求、およびサーバーがプロキシーとして機能する要求に適用されますが、ローカル CGI プログラムを開始する要求には適用されません。
このディレクティブに設定された時間制限内にサーバーが完全な応答を送信しなければ、サーバーは接続を終了します。時間の値は、時間 (hours)、分 (minutes または mins)、および秒 (seconds または secs) を任意に組み合わせて指定します。
OutputTimeout time
OutputTimeout 30 minutes
このディレクティブは、リモートの構成 PAC ファイル形式を使用して生成されたプロキシーの自動構成ファイルが入っているディレクトリーを指定するときに使用します。
PacFilePath directory_path
このディレクティブを使用して、サーバーからのファイルによって受け入れ、応答する要求のためのテンプレートを指定します。 要求は、Pass ディレクティブのテンプレートに一致すると、後続のディレクティブの要求テンプレートとは比較されません。
Pass request_template [file_path [server_IP_address | host_name]]
テンプレートではアスタリスク (*) をワイルドカードとして使用できます。 スラッシュ (/) の直後の波形記号 (~) は明示的に一致しなければならず、このためにワイルドカードを使用することはできません。
このパラメーターはオプションです。パスを指定しないと、要求そのものがパスとして使用されます。
IP アドレス (例えば、240.146.167.72) を指定するか、またはホスト名 (例えば、hostA.raleigh.ibm.com ) を指定することができます。
このパラメーターはオプションです。このパラメーターを指定しない場合、サーバーは、要求を受信する IP アドレスや URL のホスト名に関係なく、このディレクティブを使用してすべての要求を処理します。
ワイルドカード文字をサーバーの IP アドレスとして指定することはできません。
Pass /gooddoc/*
Pass /parts/* /customerA/catalog/* 240.146.167.72 Pass /parts/* /customerB/catalog/* 0.83.100.45
Pass /Admin/* /usr/lpp/internet/server_root/Admin/* Pass /Docs/* /usr/lpp/internet/server_root/Docs/* Pass /errorpages/* /usr/lpp/internet/server_root/pub/errorpages/* Pass /* /usr/lpp/internet/server_root/pub/*
Pass /Admin/* /opt/ibm/edge/cp/server_root/Admin/* Pass /Docs/* /opt/ibm/edge/cp/server_root/Docs/* Pass /errorpages/* /opt/ibm/edge/cp/server_root/pub/errorpages/* Pass /* /opt/ibm/edge/cp/server_root/pub/*
Pass /Admin/* /usr/lpp/internet/server_root/Admin/* Pass /Docs/* /usr/lpp/internet/server_root/Docs/* Pass /errorpages/* /usr/lpp/internet/server_root/pub/errporpages/* Pass /* /usr/lpp/internet/server_root/pub/*
Pass /Admin/* /opt/ibm/edge/cp/server_root/Admin/* Pass /Docs/* /opt/ibm/edge/cp/server_root/Docs/* Pass /errorpages/* /opt/ibm/edge/cp/server_root/pub/errorpages/* Pass /* /opt/ibm/edge/cp/server_root/pub/*
Pass /icons/* C:¥Program Files¥IBM¥edge¥cachingproxy¥cp¥icons¥* Pass /Admin/* C:¥Program Files¥IBM¥edge¥cachingproxy¥cp¥Admin¥* Pass /Docs/* C:¥Program Files¥IBM¥edge¥cachingproxy¥cp¥Docs¥* Pass /erropages/* C:¥Program Files¥IBM¥edge¥cachingproxy¥cp¥pub¥errorpages¥* Pass /* C:¥Program Files¥IBM¥edge¥cachingproxy¥cp¥pub¥*
このディレクティブは、サーバーが持続接続を取り消す前に、クライアント要求間で待機する時間の長さを指定するときに使用します。 この時間は、有効な任意の時間増分で指定できますが、通常は秒単位または分単位の数です。
サーバーは、別のタイムアウト・ディレクティブ InputTimeout を使用して、接続が確立された後に、クライアントが最初の要求を送信するまでどれだけ長く待機するかを決定します。入力タイムアウトについて詳しくは、InputTimeout - 入力タイムアウトを指定するを参照してください。
サーバーは、最初の応答を送信した後に、PersistTimeout ディレクティブの値を使用して、持続接続を取り消すまでにそれぞれの後続要求ごとにどれだけ長く待機するかを決定します。
PersistTimeout time
PersistTimeout 4 seconds
このディレクティブは、指定した URL の PICS ラベルを検索するためにサーバーが呼び出すカスタマイズ済み アプリケーション関数を指定するときに使用します。関数では、要求されたファイルの PICS ラベルを動的に作成 したり、あるいは代替ファイルまたはデータベースの中で PICS ラベルを検索することができます。
PICSDBLookup /path/file:function_name
PICSDBLookup /api/bin/icsext05.so:get_pics
なし
Linux および UNIX 専用です。 このディレクティブは、Caching Proxyのプロセス ID を入れるファイルの場所を指定するときに使用します。サーバー・プロセスが開始されると、そのプロセス ID (PID) をファイルに記録します。単一システム上でサーバーの複数インスタンスを実行している場合は、各インスタンスに固有の PidFile ディレクティブがなければなりません。
PidFile path_to_pid_file_info
PidFile /usr/pidinfo
AIX システムでは、IBM 4960 PCI 暗号アクセラレーター・カードをサポートするために、 追加のディレクティブが提供されています。
これらのディレクティブを使用すると、プロキシーは、 デバイス・ドライバーを読み込み、トークン・デバイスをオープンすることが可能になります。 デバイス・ドライバーがロードされると、 プロキシー・サーバーは自動的にそのデバイスを使用して、SSL 通信速度を高速にします。
SSLCryptoCard - インストール済み暗号カードを指定するも参照してください。
PKCS11DefaultCert default_cert_label
トークン・デバイスに保管されている、デフォルトの SSL 証明書ラベルを指定します。
PKCS11DriverPath absolute_path_to_the_card_driver
暗号アクセラレーター・カード用の、デバイス・ドライバーの絶対パスを指定します。
PKCS11TokenPassword password
トークン・デバイスをオープンするためのパスワードを指定します。
PKCS11DefaultCert MyDefaultCertInTheToken PKCS11DriverPath /usr/lib/pkcs11/PKCS11_API.so PKCS11TokenPassword MyPasswordToOpenTheToken
なし
新しい機能やプラグインを使用可能にするために、以下にリストするディレクティブが Caching Proxy ibmproxy.conf ファイルに追加されました。これらのほとんどの ディレクティブの編集には、「構成および管理」フォームは使用できません。 それらの編集には、vi や emacs などの標準 テキスト・エディターを使用する必要があります。本書では、この 新しいディレクティブについて、それぞれの詳細をアルファベット順で示してあります。
ibmproxy.conf ファイルには、Caching Proxy プラグイン・モジュールの構成に使用するディレクティブは、以下のフォーマットで入力する必要があります。
<MODULEBEGIN> plugin name subdirective1 subdirective2 <MODULEEND>
それぞれのプラグイン・プログラムは、ibmproxy.conf ファイルを解析して、それぞれのサブディレクティブのブロックのみを読み取ります。Caching Proxy パーサーは、<MODULEBEGIN> と <MODULEEND> の間にあるものはすべて無視します。
Caching Proxy プラグイン・モジュールと一部の新しい機能では、API ディレクティブを ibmproxy.conf ファイルに追加する必要があります。プロキシー・サーバーは、リストされた順序でプラグイン・モジュールと対話するので、プロキシー構成ファイルの中でディレクティブを順序付けする際には十分注意してください。プロトタイプのディレクティブ (コメント形式の) は、ibmproxy.conf ファイルの API セクションに追加されています。この API ディレクティブは目的別の順序で配列されています。 API ディレクティブを追加して新しい機能やプラグイン・モジュールを使用できるようにするには、各ディレクティブを構成ファイルのプロトタイプ・セクションに示されているように配列してください。あるいは、必要に応じて API ディレクティブをアンコメントして編集し、 それぞれ必要な機能やプラグインに対するサポートを組み込んでください。ユーザー生成のプラグイン・モジュールは、製品と一緒に提供されたモジュールの後に追加してください。
このディレクティブは、サーバーが要求を listen するポートの番号を指定するときに使用します。HTTP の標準のポート番号は、80 です。1024 未満の他のポート番号は、他の TCP/IP アプリケーション用に予約されているので使用できません。 Proxy Web サーバー用に使用される共通ポートは、8080 と 8008 です。
80 以上のポート番号を使用する場合、クライアントはサーバーへの要求の際、特定のポート番号を指定しなければなりません。ポート番号はコロン (:) の後に付き、URL のホスト名の後に記述します。 例えば、ブラウザーから、URL http://www.turfco.com:8008/ は、ポート 8008 で listen している www.turfco.com という名前のホストからのデフォルトのウェルカム・ページを要求します。
ibmproxy コマンドで -p オプションを指定すると、サーバーの始動時にこの設定値をオーバーライドすることができます。
Port number
このディレクティブを変更した場合は、手動でサーバーを停止してから再始動しなければ、変更が有効になりません。再始動しただけでは、サーバーは変更を認識しません。 (Caching Proxy の開始および停止を参照してください。)
Port 80
このディレクティブは、PostAuth ステップ中にサーバーが呼び出すカスタマイズ済みアプリケーション関数を指定するときに使用します。このコードは、前のステップまたは他の PostAuth ハンドラーからの戻りコードに関係なく実行されます。 このディレクティブを使用すると、要求を処理するために割り振られたすべてのリソースをクリーンアップすることができます。
PostAuth /path/file:function_name
AuthExit /ics/api/bin/icsext05.so:post_exit
なし
このディレクティブは、PostExit ステップ中にサーバーが呼び出すカスタマイズ済みアプリケーション関数を指定するときに使用します。このコードは、前のステップまたは他の PostExit ハンドラーからの戻りコードに関係なく実行されます。 このディレクティブを使用すると、要求を処理するために割り振られたすべてのリソースをクリーンアップすることができます。
PostExit /path/file:function_name
PostExit /ics/api/bin/icsext05.so:post_exit
なし
このディレクティブは、PreExit ステップ中にサーバーが呼び出すカスタマイズ済みアプリケーション関数を指定するときに使用します。このコードは、クライアント要求が読み取られてから、他の処理が行われるまでの間に実行されます。このステップの実行中に GoServe モジュールを呼び出すことができます。
PreExit /path/file:function_name
PreExit /ics/api/bin/icsext05.so:pre_exit
なし
このディレクティブを使用して、テンプレートと一致する要求のための保護セットアップ規則を活動化します。
保護セットアップは、保護サブディレクティブで定義されます。Protect ディレクティブのフォーマットは、保護サブディレクティブが入っているラベルまたはファイルを指すか、あるいは保護サブディレクティブを Protect ディレクティブの一部に組み込む必要があるかどうかによって異なります。
このパラメーターは、以下のどの形式であっても構いません。
Protect request_template [setup_file | label[ [FOR Server_IP_address | host_name]
Protect request_template [FOR Server_IP_address | hhost_name] subdirective value subdirective value . . . }
以下のパラメーターが使用されます。
このパラメーターはオプションです。このパラメーターを省略すると、保護セットアップは、一致するテンプレートが入っている最新の DefProt ディレクティブにより定義されます。
例:
Protect http://x.x.x.x PROT-ADMIN
Web ブラウザー内:
例:
Protect http://hostname.example.com PROT-ADMIN
Web ブラウザー内:
IP アドレス (例えば、FOR 240.146.167.72) を指定するか、あるいはホスト名 (例えば、FOR hostA.bcd.com) を指定することができます。
サーバー IP アドレスの指定にワイルドカード文字を使用することはできません。
このパラメーターはオプションです。このパラメーターを指定しない場合、サーバーは、要求を受信する IP アドレスや URL のホスト名に関係なく、このディレクティブを使用してすべての要求を処理します。
これらの例では、IP アドレスを使用しています。 サーバーは、/secret/ または /topsecret/ で 始まる要求を受信すると、その要求が入ってきたネットワーク接続の IP アドレスに基づいて、要求に対して異なる保護 セットアップを活動化します。
Protection BUS-PROT { UserID busybody GroupID webgroup AuthType Basic ServerID restricted PasswdFile /docs/WWW/restrict.pwd GroupFile /docs/WWW/restrict.grp GetMask authors PutMask authors } DefProt /secret/* /server/protect/setup1.acc Protect /secret/scoop/* Protect /secret/business/* BUS-PROT Protect /topsecret/* { AuthType Basic ServerID restricted PasswdFile /docs/WWW/restrict.pwd GroupFile /docs/WWW/restrict.grp GetMask topbrass PutMask topbrass } Pass /secret/scoop/* /WWW/restricted/* Pass /secret/business/* /WWW/confidential/* Pass /topsecret/* /WWW/topsecret/*
Protect /secret/* CustomerA-PROT FOR 0.67.106.79 Protect /secret/* CustomerB-PROT FOR 0.83.100.45 Protect /topsecret/* 0.67.106.79 { AuthType Basic ServerID restricted PasswdFile /docs/WWW/customer-A.pwd GroupFile /docs/WWW/customer-A.grp GetMask A-brass PutMask A-brass } Protect /topsecret/* 0.83.100.45 { AuthType Basic ServerID restricted PasswdFile /docs/WWW/customer-B.pwd GroupFile /docs/WWW/customer-B.grp GetMask B-brass PutMask B-brass }
Protect http://host1/* proxy-prot
Protect /secret/* CustomerA-PROT FOR hostA.bcd.com Protect /secret/* CustomerB-PROT FOR hostB.bcd.com Protect /topsecret/* hostA.bcd.com { AuthType Basic ServerID restricted PasswdFile /docs/WWW/customer-A.pwd GroupFile /docs/WWW/customer-A.grp GetMask A-brass PutMask A-brass } Protect /topsecret/* hostB.bcd.com { AuthType Basic ServerID restricted PasswdFile /docs/WWW/customer-B.pwd GroupFile /docs/WWW/customer-B.grp GetMask B-brass PutMask B-brass }
デフォルトで、「構成および管理」フォームのための保護は、/admin-bin/* という要求テンプレートを指定した Protect ディレクティブによって提供されます。
このディレクティブを使用して、保護セットアップを構成ファイル内に定義します。保護セットアップに名前を付け、保護サブディレクティブを使用して保護のタイプを定義します。
Protection label_name { subdirective value subdirective value . . . }
保護サブディレクティブの説明については、Protection subdirectives - 一連のリソースの保護方法を指定するを参照してください。
Protection NAME-ME { AuthType Basic ServerID restricted PasswdFile /WWW/password.pwd GroupFile /WWW/group.grp GetMask groupname PutMask groupname }
Protect /admin-bin/* { ServerId Private_Authorization AuthType Basic GetMask All@(*) PutMask All@(*) PostMask All@(*) Mask All@(*) PasswdFile /opt/ibm/edge/cp/server_root/protect/webadmin.passwd }
保護セットアップ内で使用できる保護サブディレクティブについて、以下に説明します。 サブディレクティブは、アルファベット順に並んでいます。
保護セットアップは、別個のファイルとしたり、あるいは DefProt、Protect、または Protection ディレクティブの一部として構成ファイルに組み込むことができます。
この保護サブディレクティブは、ユーザー名とパスワードに基づいてアクセスを制限するときに使用します。パスワードがクライアントからサーバーに送信されたときに使用される認証のタイプを指定します。基本認証 (AuthType Basic) では、パスワードは非暗号化テキストとしてサーバーに送信されます。パスワードはエンコードされますが、暗号化はされません。
AuthType Basic
この保護サブディレクティブは、保護ディレクトリーに対する DELETE 要求を出すことができるユーザー名、グループ、およびアドレス・テンプレートを指定するときに使用します。
DeleteMask authors,(niceguy,goodie)@45.96.3.1,128.0.*.*
この保護サブディレクティブは、保護ディレクトリーに対する GET 要求を出すことができるユーザー名、グループ、およびアドレス・テンプレートを指定するときに使用します。
GetMask authors,(niceguy,goodie)@45.96.3.1,128.0.*.*
GetMask All@(*)
この Protection サブディレクティブは、保護セットアップで使用するサーバー・グループ・ファイルのパスおよびファイル名を指定するときに使用します。これによって、サーバー・グループ・ファイル内で定義されているグループを以下の場所で使用することができます。
GroupFile /docs/etc/WWW/restrict.group
このサブディレクティブは、他のマスク・サブディレクティブでは扱われない HTTP 要求を出すことが許可されたユーザー名、グループ、およびアドレス・テンプレートを指定するときに使用します。
Mask authors,(niceguy,goodie)@45.96.3.1,128.0.*.*
MASK WEBADM,webadm
この保護サブディレクティブは、ユーザー名とパスワードに基づいてアクセスを制限するときに使用します。この保護セットアップが使用するパスワード・ファイルのパス名とファイル名を指定します。
一部のブラウザーは、ホスト内のセキュリティー・レルム (ServerID) によってユーザー ID やパスワードを キャッシュに入れるため、ServerID およびパスワード・ファイルを指定する際は、 以下のガイドラインに従ってください。
PasswdFile /docs/etc/WWW/restrict.password
PasswdFile "c:¥test this¥admin.pwd"
セキュア・サーバーの場合、保護ディレクトリーに対する POST 要求を出すことができるユーザー、グループ、およびアドレス・テンプレートを指定するとき、この保護サブディレクティブを使用します。
PostMask authors,(niceguy,goodie)@45.96.3.1,128.0.*.*
この保護サブディレクティブは、保護ディレクトリーに対する PUT 要求を出すことができるユーザー、グループ、およびアドレス・テンプレートを指定するときに使用します。
PutMask authors,(niceguy,goodie)@45.96.3.1,128.0.*.*
この保護サブディレクティブは、ユーザー名とパスワードに基づいてアクセスを制限するときに使用します。使用されるパスワード・ファイルに関連付けたい名前を指定します。 名前は実際のコンピューターの名前でなくても構いません。
この名前は、要求側に送信される ID として使用されます。それぞれの保護セットアップは別々のパスワード・ファイルを 使用できるので、保護セットアップに名前を関連付けておくと、クライアントはどのパスワードを送信すればよいかが わかります。ほとんどのクライアントは、ユーザー名とパスワードの入力を求めるプロンプトを表示するときに、この名前を表示します。
一部のブラウザーは、ホスト内のセキュリティー・レルム (ServerID) によってユーザー ID やパスワードを キャッシュに入れるため、ServerID およびパスワード・ファイルを指定する際は、 以下のガイドラインに従ってください。
ServerID restricted
このディレクティブは、Caching Proxy がどのプロトコルを処理すべきかを 指示し、要求をサーバーにマップするときに使用します。 有効なプロトコルは、http、ftp、および gopher です。
このプロキシー・ディレクティブは、要求をリモート・サーバーに渡します。例えば、次のディレクティブの場合は、すべての要求を指定の URL に転送します。
Proxy /* http://proxy.server.name/*
セキュア・リバース・プロキシー・サーバーの場合は、次のディレクティブを使用してください。
Proxy /* https://proxy.server.name/*
プロキシー・サーバーの制限を抑えたい場合は、構成ファイルから以下のディレクティブをアンコメントします。ただし、プロキシーがリバース・プロキシーとして構成されると、これらのディレクティブにセキュリティー上の問題が発生する場合があります。
Proxy http:* Proxy ftp:* Proxy gopher:*
オプション・パラメーター:
これは、リバース・プロキシー構成にのみ適用されます。
このオプションは、クライアント・サイドのソケットと発信側のソケットの間で、 1 対 1 のマッピングを維持するよう Caching Proxy に指示します。 このオプションは、接続ベースの認証など、一部のアプリケーションの場合に有用です。 例えば、プロキシーがサーバー・サイドのソケットを生かしたまま、 同じクライアント・サイド・ソケットからの要求のために、 そのソケットを再利用する必要があるようなアプリケーションの場合です。
プロキシー・ルールが一致すると、 このオプションは、対応する応答をキャッシュに入れないよう、 プロキシーに指示します。
プロキシー・ルールが一致し、 かつ要求に Range ヘッダーがある場合、 このオプションは、対応する応答をキャッシュに入れないよう、プロキシーに指示します。 詳細については、NoCacheOnRange - Range 要求でキャッシングなしを指定するを参照してください。
これは、リバース・プロキシー構成にのみ適用されます。
このオプションは、 ジャンクション再書き込みプラグインが有効である場合に使用します。 このオプションでは、着信 URL が一致した場合、 対応する応答をプロキシーが再書き込みすることを許可しません。 詳細については、ジャンクション再書き込みの使用可能化 (オプショナル)とJunctionPrefix オプションを使用するジャンクションの定義 (推奨される方法)を参照してください。
これは、リバース・プロキシー構成にのみ適用されます。
このオプションは、 ジャンクション再書き込みプラグインが有効である場合に使用します。 このオプションでは、 プロキシー・ルール内の最初の URL パターンからジャンクションの接頭部を推論する代わりに、 明示的にジャンクションの再書き込み接頭部を宣言します。 詳細については、ジャンクション再書き込みの使用可能化 (オプショナル)とJunctionPrefix オプションを使用するジャンクションの定義 (推奨される方法)を参照してください。
Proxy request_template target_server_path [[ip]:port] [UseSession | NoCaching | NoCacheOnRange | NoJunction | JunctionPrefix:/url_prefix]
以下は、Proxy ディレクティブの UseSession オプションの例です。
Proxy /abc/* http://server1/default/abc/* :80 UseSession
着信クライアント要求がポート 80 から来るときに、 クライアント要求の URL が /abc/* というパターンに一致すると、 URL は http://server1/default/abc/* にマップされます。
なし。
このディレクティブは、サーバーにプロキシー要求のアクセス統計をログに記録させたい場所のファイルのパスおよびファイル名を指定するときに使用します。デフォルトでは、クライアント要求に対してプロキシーとして振る舞うたびに、サーバーがこのログに項目を書き込みます。特定のクライアントからの要求をログに記録したくない場合は、NoLog ディレクティブを使用することができます。
サーバーは、午前 0 時に新規ログ・ファイルを開始します (サーバーが稼働している場合)。午前 0 時にサーバーが稼働していない場合は、その日における最初のサーバー始動時に新規ログ・ファイルの記録を開始します。ログ・ファイル作成時に、サーバーは、指定されたファイル名を使用し、日付接尾部または拡張子を付加します。 日付接尾部または拡張子は、Mmmddyyyy という形式です。Mmm は月の最初の 3 文字、dd は日、yyyy は年です。
古いログ・ファイルは、ハード・ディスク上で大量のスペースを使用する可能性があるため、これらのファイルは除去するようにしてください。
ProxyAccessLog path/file
このディレクティブは、Proxy Advisor ステップ中にサーバーで呼び出したいカスタマイズ済みアプリケーションを指定するときに使用します。このコードは、要求に対応します。
ProxyAdvisor /path/file:function_name
ProxyAdvisor /api/bin/customadvise.so:proxyadv
なし
ProxyForwardLabels ディレクティブは、プロキシー・サーバーおよびクライアントでか、あるいはプロキシー階層内の 2 つのプロキシーで、PICS フィルター操作を指定するときに使用します。
ProxyForwardLabels を On に設定した場合に、プロキシー・サーバーは、起点サーバー、ラベル・ビューロー、Caching Proxy のラベル・キャッシュ、およびラベル提供側プラグインからのラベルを含め、見つかったすべての PICS ラベルについて PICS-Label: HTTP ヘッダーを生成します。
ProxyForwardLabels が Off の場合は、PICS-Label: HTTP ヘッダーは生成されません。
ProxyForwardLabels {on | off}
ProxyForwardLabels Off
このディレクティブは、From: ヘッダーを生成するために使用します。 これは、通常、プロキシー管理者の電子メール・アドレスを指定する場合に使用されます。
ProxyFrom e-mail_address
ProxyFrom webmaster@proxy.ibm.com の設定の結果として、以下のヘッダーが変更されます。
元のヘッダー | 変更後のヘッダー |
---|---|
Location: http://www.ibm.com/ | Location: http://www.ibm.com/ |
Last Modified: Tue 5 Nov 1997 10:05:39 GMT | Last Modified: Tue 5 Nov 1997 10:05:39 GMT |
Pragma: no-cache | From: webmaster@proxy.ibm.com |
Pragma: no-cache |
なし
このディレクティブは、ユーザーがブラウザーで「再読み込み」をクリックした場合のサーバーの 反応を指定するときに使用します。ProxyIgnoreNoCache ディレクティブを On に設定すると、高負荷の期間中は、サーバーは 宛先サーバーにページを要求せず、ファイルのキャッシュ・コピーが使用できればこれを提供します。サーバーは、本質的 に、ブラウザーから送信された "Pragma: no-cache" ヘッダーを無視します。
ProxyIgnoreNoCache {on | off}
ProxyIgnoreNoCache off
このディレクティブは、クライアントとの持続接続を維持するかどうかを指定するときに使用します。持続接続機能によって、ユーザーの待ち時間が短縮されてプロキシー・サーバー上の CPU の負荷が軽減される一方で、より多くのリソースが必要とされます。 持続接続機能は、より多くのスレッドと、そのためにより多くのプロキシー・サーバー上のメモリーを必要とします。
プロキシーのいずれかが HTTP 1.1 に準拠していない場合、持続接続機能をマルチレベルのプロキシー・サーバー・セットアップに使用しないでください。
ProxyPersistence {on | off}
ProxyPersistence on
このディレクティブは、プロキシーがクライアントの IP アドレスを宛先サーバーに転送するかどうかを指定するときに使用します。
ProxySendClientAddress {Client_IP: | OFF}
ディレクティブ ProxySendClientAddress Client-IP: の結果として、以下のヘッダーが変更されます。
元のヘッダー | 変更後のヘッダー |
---|---|
Location: http://www.ibm.com/ | Location: http://www.ibm.com |
Last Modified: Tue 5 Nov 1997 10:05:39 GMT | Last Modified: Tue 5 Nov 1997 10:05:39 GMT |
Pragma: no-cache | Client-IP: 0.67.199.5 |
Pragma: no-cache |
なし
このディレクティブは、クライアントが送信したストリングを置き換える User Agent ストリングを指定するときに使用します。これにより、Web サイトを訪問中の匿名性がさらに高まります。しかし、User Agent ストリングに基づいてページをカスタマイズしてあるサイトもあります。ProxyUserAgent ディレクティブを使用することで、このようなカスタム・ページは表示されません。
ProxyUserAgent product_name/version
ディレクティブ ProxyUserAgent Caching Proxy/8.0 の結果として、以下のヘッダーが変更されます。
元のヘッダー | 変更後のヘッダー |
---|---|
Location: http://www.ibm.com/ | Location: http://www.ibm.com |
Last Modified: Tue 5 Nov 1997 10:05:39 GMT | Last Modified: Tue 5 Nov 1997 10:05:39 GMT |
User Agent: Mozilla/ 2.02 OS2 | User Agent: Caching Proxy/8.0 |
Pragma: no-cache | Pragma: no-cache |
なし
このディレクティブは、HTTP ヘッダーのフォーマットを制御するときに使用します。このディレクティブに使用できる 4 つの 値があります。ProxyVia が Full に設定されると、Caching Proxy は Via ヘッダーを要求または 応答の中に追加します。Via ヘッダーが既にストリーム内にある場合には、Caching Proxy はその終わりにホスト情報を追加 します。Set に設定されると、Caching Proxy は Via ヘッダーをホスト情報に設定し、Via ヘッダーが既に ストリーム内にある場合は、Caching Proxy がそれを除去します。Pass に設定されると、Caching Proxy はすべての ヘッダー情報をそのまま転送します。Block に設定されると、Caching Proxy は Via ヘッダーを転送しません。
ProxyVia {Full | Set | Pass | Block}
ProxyVia Pass
ProxyVia Full
これは、リバース・プロキシー構成にのみ適用されます。
ProxyWAS マッピング・ディレクティブは Proxy ディレクティブと同様に作動しますが、 一致する要求を WebSphere Application Server に送ることも Caching Proxy に 指示します。このディレクティブの使用方法の例については、 Proxy - プロキシー・プロトコルまたはリバース・プロキシーを指定するを参照してください。
ProxyWAS request_template target_server_path [[ip]:port] [UseSession | NoCaching | NoCacheOnRange | NoJunction | JunctionPrefix:/url_prefix]
なし
このディレクティブは、サーバーがプロキシーとして機能するか、またはプロキシーとコンテンツ・サーバーの両方として機能するかを指定するために使用します。 Caching Proxy をプロキシーとしてだけ使用することをお勧めします。
PureProxy {on | off}
PureProxy on
このディレクティブは、ログがパージされるまでの経過時間 (日数) を指定するときに使用します。 PurgeAge が 0 の場合、ログが削除されることはありません。
PurgeAge number
PurgeAge 7
このディレクティブは、ログ・アーカイブがパージされるまでにどれだけの大きさ (メガバイト単位) になり得るかを指定するときに使用します。PurgeSize ディレクティブが 0 に設定されると、サイズに限界はなく、ファイルは削除されません。
PurgeSize の設定は、ログ・タイプのログのすべて を参照します。例えば、エラーをログに記録していて (すなわち、構成ファイルに ErrorLog 項目が作成されていて)、PurgeSize が 10 MB として定義されている場合には、Caching Proxy はすべてのエラー・ログのサイズを計算して合算し、次に、合計サイズが 10 MB 未満になるまでログを削除します。
PurgeSize number_of_MB
PurgeSize 0
このディレクティブは、リモート・キャッシュ・アクセス構成ファイルの名前および場所を指定する場合に使用します。
RCAConfigFile /etc/file_name
RCAConfigFile /etc/user2rca.conf
RCAConfigFile /etc/rca.conf
このディレクティブは、RCA ポート上で作動するスレッドの数を指定するときに使用します。
RCAThreads number_of_threads
RCAThreads 50
MaxActiveThreads x [(ArraySize -1) / (2 x ArraySize -1)]
このディレクティブを使用して、接続が取り消されるまでにネットワーク活動をせずにいられる時間の制限を指定します。
ReadTimeout time
ReadTimeout 5 minutes
このディレクティブは、受け入れて、別のサーバーに送信したい要求のテンプレートを指定するときに使用します。要求が Redirect ディレクティブ上のテンプレートと一致すると、その要求は構成ファイル内の他のディレクティブ上のテンプレートとは比較されません。
Redirect request_template URL [server_IP_address | host_name]
テンプレートではアスタリスク (*) をワイルドカードとして使用できます。 スラッシュ (/) の直後の波形記号 (~) は明示的に一致しなければならず、このためにワイルドカードを使用することはできません。
URL には、プロトコル指定と、要求の送信先であるサーバーの名前が含まれていなければなりません。パス名またはファイル名を入れることもできます。request_template でワイルドカードを使用した場合は、URL のパス名またはファイル名にもワイルドカードを使用することができます。 元の要求の request_template のワイルドカードに一致する部分が、URL のワイルドカードの代わりに挿入されます。
IP アドレス (例えば、240.146.167.72) またはホスト名 (例えば、hostA.bcd.com) を指定することができます。
このパラメーターはオプションです。このパラメーターを指定しない場合、サーバーは、要求を受信する IP アドレスや URL のホスト名に関係なく、このディレクティブを使用してすべての要求を処理します。
ワイルドカード文字をサーバーの IP アドレスとして指定することはできません。
Redirect /chief/stuff/* http://www.other.org/wahoo/*
Redirect /stuff/* http://www.chief.org/wahoo/* 240.146.167.72 redirectcode: 302 Redirect /stuff/* http://www.dawg.com/pound/* 0.83.100.45 redirectcode: 302
Redirect /stuff/* http://www.chief.org/wahoo/* hostA.bcd.com Redirect /stuff/* http://www.dawg.com/pound/* hostB.bcd.com
なし
このディレクティブを使用し、Caching Proxy によって、Cookie ヘッダーを基にしたリソースの 複数のバリアント (URI) をキャッシュに入れることができるようにします。
詳しくは、SupportVaryHeader - HTTP Vary ヘッダーを基にしたリソースの、 複数のバリアントをキャッシュに入れる を参照してください。
RegisterCacheIdTransformer Cookie cookie-name
cookie-name は、クライアントの要求の Cookie ヘッダーにおける 名前です。
RegisterCacheIdTransformer Cookie Usergroup
SupportVaryHeader と結合しているこのディレクティブの 使用例については、SupportVaryHeader - HTTP Vary ヘッダーを基にしたリソースの、 複数のバリアントをキャッシュに入れる を参照してください。
なし
これは、リバース・プロキシー構成にのみ適用されます。
ReversePass マッピング・ディレクティブは、サーバー応答ストリームを検査して、 自動リダイレクトの結果として再書き込みされる要求を検出します。通常、サーバーが 3xx クラス (例えば、301 (moved permanently)、または 303 (see other)) で HTTP コードを 戻す時に、サーバーは、要求側クライアントが以後の要求を正しい URL および IP アドレス に送信するように指示する応答を付けて、メッセージを送信します。リバース・プロキシー・ セットアップの場合、起点サーバーからのリダイレクト・メッセージは、以後の要求に 関してクライアント・ブラウザーにプロキシー・サーバーをバイパスさせることが 可能です。クライアントが起点サーバーと直接に連絡を取ることを避ける ために、ReversePass ディレクティブを使用して、起点サーバーに特定して送信される 要求をインターセプトします。
要求ストリームを処理する他のマッピング・ディレクティブとは異なり、ReversePass は、 そのテンプレートを応答ストリームと突き合わせます。応答ストリームとは、プロキシー・サーバーが 起点サーバーから取得し、クライアントへ送信する応答のことです。
ReversePass rewritten_URL proxy_URL [host:port]
host:port オプションは、 プロキシーが、バックエンド・サーバーのホスト名およびポートに基づいた 異なる ReversePass 規則を適用することを可能にします。
ReversePass http://backend.company.com:9080/* http://edge.company.com/*ポート 9080 は エッジでのアプリケーション・サービスのデフォルトのポートです。このタイプの要求は、 起点アプリケーション・サーバーが 3xx コードをクライアントに戻す場合に 生成されます。
ReversePass http://edge.company.com:9080/* http://edge.company.com/*
なし
これは、リバース・プロキシー構成にのみ適用されます。
このディレクティブは、再書き込みする必要のあるドメイン・パターンを指 定するために使用します。 このディレクティブは、ドメイン domain_pattern1 から domain_pattern2 に変換します。
RewriteSetCookieDomain domain_pattern1 domain_pattern2
RewriteSetCookieDomain .internal.com .external.com
なし
これは、リバース・プロキシー構成にのみ適用されます。
このディレクティブは、RTSP リダイレクトを使用可能または使用不可にします。オプションは、on または off です。
RTSPEnable {on | off}
RTSPEnable on
なし
これは、リバース・プロキシー構成にのみ適用されます。
このディレクティブは、リダイレクトされる要求を受信する RTSP プロキシー・サーバーを指定するときに使用します。タイプの異なるストリームに合わせて各種サーバーを指定できます。このディレクティブのフォーマットは、次のとおりです。
rtsp_proxy_server server dns address[:port] default rank [list of mime types]
rtsp_proxy_server rproxy.mycompany.com:554 1 rtsp_proxy_server fw1.mycompany.com:554 2 rtsp_proxy_server fw1.mycompany.com:555 3 rtsp_proxy_server fw2.mycompany.com:557 4
なし
これは、リバース・プロキシー構成にのみ適用されます。
このディレクティブは、起点サーバーではなく、プロキシー・サーバーに RTSP 要求がリダイレクト されるまでに受信される要求の数を指定します。RealNetworks プロキシーは、最初の要求のストリームをキャッシュに格納し、キャッシングには、当初、ストリームの受信の 2 倍の帯域幅となります。しきい値 2 以上の値を指定すると、1 回だけの要求はキャッシュに格納されません。このディレクティブのフォーマットは、次のとおりです。
rtsp_proxy_threshold number_of_hits
rtsp_proxy_threshold 5
なし
これは、リバース・プロキシー構成にのみ適用されます。
このディレクティブは、リダイレクトのためにメモリーに保持される固有の URL の数を指定します。プロキシーは、 特定の URL が以前に検索されているかどうかを判別するために、このリストを参照します。リストのサイズが大きいと、直前の要求を受信したのと同じプロキシー・サーバーに後続の要求をプロキシー・サーバーが送信できる可能性が高まります。しかし、リストの項目ごとに約 16 バイトのメモリーが消費されます。
rtsp_url_list_size size_of_list
rtsp_url_list_size 8192
なし
デフォルトでは、ibmproxy.conf ファイルに定義されているルールに対して Caching Proxy が要求をマップする際、マッチング・プロセスで大/小文字を区別します。 ただし、一部のアプリケーション URL は、大/小文字を区別していません。 これらの要求を正しく処理するために、 RuleCaseSense ディレクティブが用意されています。このディレクティブを off に設定すると、プロキシーは大/小文字の区別をせずに、 要求のマッチングを行います。
RuleCaseSense {on | off}
RuleCaseSense on
このディレクティブは、サーバーによって開始された CGI プログラムが終了するまでの時間を設定します。時間が期限切れになると、サーバーはプログラムを終了します。 Linux および UNIX プラットフォームでは、これは KILL シグナルによって実行されます。
時間の値は、時間 (hours)、分 (minutes または mins)、および秒 (seconds または secs) を任意に組み合わせて入力します。
ScriptTimeout timeout
ScriptTimeout 5 minutes
このディレクティブは、Caching Proxy からダウンストリーム・サーバーへ送信される要求は HTTP バージョン 1.0 プロトコルを使用する必要があることを指定するときに使用します。(ダウンストリーム・サーバーとは、要求を処理するプロキシーのチェーン内の別のプロキシー・サーバーあるいは起点サーバーです。)
このディレクティブが使用されると、Caching Proxy は HTTP 1.0 を要求行の中のプロトコルとして識別します。ほとんどの HTTP 1.0 サーバーでサポートされている Cache-control ヘッダーのような、HTTP 1.0 に特有の機能、および ある特定の HTTP 1.1 機能は、ダウンストリーム・サーバーへ送られます。このディレクティブは、HTTP 1.1 要求を正しく 処理しないダウンストリーム・サーバーがあった場合に使用してください。
SendHTTP10Outbound ディレクティブが指定されていない 場合には、Caching Proxy は HTTP 1.1 を要求行の中のプロトコルとして識別します。この要求では、持続接続機能のような HTTP 1.1 機能も使用することができます。
SendHTTP10Outbound url_pattern
このディレクティブは、複数回指定することができます。例えば、次のとおりです。
SendHTTP10Outbound http://www.hosta.com/* SendHTTP10Outbound http://www.hostb.com/*
逆方向の互換性のために、前の SendHTTP10Outbound の構文は、以下のように取り扱われることになりました。
なし
これは、リバース・プロキシー構成にのみ適用されます。
リバース・プロキシーとして機能する場合、Caching Proxy はクライアントから HTTP 要求 を受信し、その要求を起点サーバーに送信します。デフォルトで、Caching Proxy は、 起点サーバーに送信される要求の HOST ヘッダーに起点サーバーのホスト名を書き込みます。 SendRevProxyName ディレクティブが yes に設定された場合、Caching Proxy は、代わりに 自身のホスト名を HOST ヘッダーに書き込みます。 バックエンド・サーバーから別のバックエンド・サーバーへ要求がリダイレクトされる 場合であっても、起点サーバーへの要求が常にプロキシー・サーバーから来るように 見せることが可能なので、このディレクティブはバックエンド・サーバー用の 特別な構成を使用可能にするために使用されます。
このディレクティブは、次の点で ReversePass マッピング・ディレクティブとは 異なります。ReversePass ディレクティブは指定された構文によって要求を インターセプトし、ユーザーが指定した別の要求コンテンツで置き換えます。 一方、SendRevProxyName ディレクティブは 起点サーバーのホスト名を Caching Proxy のホスト名に置き換えるためにのみ 設定されます。このディレクティブは、エッジでのアプリケーション・サービスの構成には利用できません。
SendRevProxyName {yes | no}
このディレクティブは、ガーベッジ・コレクション・スレッドでサーバー接続がタイムアウト (ServerConnTimeout ディレクティブによる設定) になったかどうかを検査する間隔を設定します。 このディレクティブは、ServerConnPool ディレクティブを On に設定した場合にのみ使用してください。
ServerConnGCRun time_interval
ServerConnGCRun 2 minutes
ServerConnGCRun 2 minutes
このディレクティブによってプロキシーでは、起点サーバーへのその発信接続を 1 つにまとめてプールすることができます。このディレクティブを On に設定すると、パフォーマンスが向上し、持続接続が可能な起点サーバーの利点を活用できます。 また、ServerConnTimeout ディレクティブを通じて未使用接続をどれだけ長い期間保持するかを指定することもできます。
ServerConnPool {on | off}
ServerConnPool off
このディレクティブは、接続が取り消されるまでネットワーク活動をしないでいられる時間を制限するときに使用します。このディレクティブは、ServerConnPool ディレクティブを On に設定した場合にのみ使用してください。
ServerConnTimeout time-spec
ServerConnTimeout 30 seconds
ServerConnTimeout 10 seconds
このディレクティブは、その初期化ルーチンの実行中にサーバーが呼び出すカスタマイズ済みアプリケーション関数を指定するときに使用します。このコードは、クライアント要求が読み込まれる前、およびサーバーが再始動されるたびに実行されます。
GoServe モジュールを PreExit または Service ステップで使用する場合は、ここで gosclone モジュールを呼び出す必要があります。
ServerInit /path/file:function_name [initialization_string]
ServerInit /ics/api/bin/icsext05.so:svr_init
なし
このディレクティブは、サーバー・プログラムのインストール先ディレクトリー (サーバーの現行作業ディレクトリー) を指定するときに使用します。ディレクティブをログに記録する際には、相対パス名が使用されているときのデフォルト・ルートとしてこの現行作業ディレクトリーが使用されます。
Windows システムでは、このディレクトリーはインストール時に識別されます。
ServerRoot directory_path
このディレクティブは、サーバー終了ステップ中にサーバーが呼び出すカスタマイズ済みアプリケーション関数を指定 するときに使用します。このコードは、正常シャットダウンが行われたとき、およびサーバーが再始動されるごとに 実行されます。 このディレクティブを使用すると、PreExit アプリケーション関数によって割り振られたリソースを解放することができます。
ServerTerm /path/file:function_name
ServerTerm /ics/api/bin/icsext05.so:shut_down
なし
このディレクティブは、サービス・ステップ中にサーバーが呼び出すカスタマイズ済みアプリケーション関数を指定するときに使用します。このコードは、クライアント要求に対応します。 例えば、ファイルを送信したり、CGI プログラムを実行します。
このディレクティブにはデフォルトはありません。要求が Service 規則と一致する (Service ディレクティブで指定 されたアプリケーション関数が実行される) が、関数が HTTP_NOACTION を戻した場合は、サーバーはエラーを生成し、要求は失敗します。
Service request_template/path/file:function_name [server_IP_address | host_name]
ワイルドカード文字をサーバーの IP アドレスとして指定することはできません。
Service /index.html /ics/api/bin/icsext05.so:serve_req Service /cgi-bin/hexcalc* /ics/api/calculator:HEXcalc*
なし
このディレクティブは、URL 要求の終了コードを指定するために使用します。要求の中で終了コードを使用すると、Caching Proxy は、要求の処理時および結果が既にキャッシングされたかどうかの評価時に、終了コードの前の文字だけを評価します。複数の終了コードが定義されている場合には、Caching Proxy は着信 URL を ibmproxy.conf ファイルに定義されている順序での終了コードと比較します。
SignificantURLTerminator terminating_string
SignificantURLTerminator &.
この例では、以下の 2 つの要求は同一として処理されます。
http://www.exampleURL.com/tx.asp?id=0200&.;x=004;y=001 http://www.exampleURL.com/tx.asp?id=0200&.;x=127;y=034
なし
このディレクティブは、Caching Proxy for Windows 内の内部 sendmail ルーチンによって使用される SMTP サーバーを設定するために使用します。 WebMasterEMail - 選ばれたサーバー報告書を受け取るための電子メール・アドレスを設定するおよびWebMasterSocksServer (Windows のみ) - sendmail ルーチン用に Socks サーバーを設定するで説明する 2 つのディレクティブも、このルーチンのために設定しなければなりません。
SMTPServer IP address or hostname of SMTP server
SMTPServer mybox.com
なし
このディレクティブを使用して、SNMP サポートを使用可能または使用不可にします。
SNMP {on | off}
SNMP off
このディレクティブは、Web サーバー分散プロトコル・インターフェース (DPI) サブエージェントと SNMP エージェント間 のパスワードを定義するときに使用します。SNMP コミュニティー名は、サーバーの指定されたコミュニティーに ついて SNMP がモニターするパフォーマンス変数をユーザーが表示するのを許可します。システム管理者 は、パスワードが入力された場合に表示できる変数を定義します。SNMP コミュニティー名を変更する ときは、/etc/snmpd.conf という名前のファイルに指定されたコミュニティー名も必ず変更してください。
SNMPCommunity name
SNMPCommunity public
このディレクティブは、リバース・プロキシーの使用時にセキュア要求の内容をキャッシュに入れるときに使用します。このディレクティブは、プロキシー・サーバーへのすべての接続 (クライアント接続とバックエンド・コンテンツ接続の両方) のためのキャッシュを構成します。
SSLCaching {on | off}
SSLCaching off
このディレクティブは、Caching Proxy が独自の SSL 証明書を発行する複数ドメインの単一リバース・プロキシーとして活動しているときに、クライアントにどの証明書を送るかを決定し、プロキシー・サーバーにクライアント認証のためにクライアント側の PKI 証明書を検索するかどうかをプロキシーが指示できる鍵ラベルを指定するために使用します。
Caching Proxy は、SSLCertificate ディレクティブを使用して、 認証局 (CA) 発行の証明書と、自己割り当ての証明書を区別することができます。 ただし、このディレクティブを使用して、 なんらかの CA 発行の証明書を受け入れる (ClientAuthRequired オプション) ことにより、 無効なユーザーにもプロキシー・サーバーへのアクセスを獲得することを許可できます。 SSLCertificate ディレクティブで ClientAuthRequired オプションを使用する場合、 どの正当なユーザーが SSL チャネルにアクセスできるかを判別するために、 論理式オプションを使用することができます。
追加の論理式を SSLCertificate ディレクティブに追加すると、 Caching Proxy は、クライアント証明書から値を取り出して、その論理式を計算します。 クライアント証明書の値でその式が満たされた場合、 Caching Proxy は、SSL 接続の使用についてクライアントを認可します。 満たされない場合、接続はシャットダウンされクローズされます。
SSLCertificate serverIP/hostname CertificateLabel [NoClientAuth | ClientAuthRequired logic-expression]
この論理式オプションが有効なのは、 ClientAuthRequired オプションと共に使用された場合のみです。 追加の論理式を SSLCertificate ディレクティブに追加すると、 Caching Proxy は、クライアント証明書から値を取り出して、その論理式を計算します。 クライアント証明書の値でその式が満たされた場合、 Caching Proxy は、SSL 接続の使用についてクライアントを認可します。 満たされない場合、接続はシャットダウンされクローズされます。
SSLCertificate www.abc.com ABCCert SSLCertificate 204.146.167.72 intABCCert SSLCertificate www.xyz.com XYZCert ClientAuthRequired SSLCertificate www.xyz.com XYZCert ClientAuthRequired CN="valid.user.common.name.pattern" && (L="accepted.location.pattern" || C!="not.valid.country.pattern")
なし
これは、リバース・プロキシー構成にのみ適用されます。
このディレクティブは、インストール済みの暗号カードがあることをプロキシー・サーバー に知らせ、そのカードを指定するために使用します。
AIX で、IBM 4960 PCI 暗号アクセラレーター・カードをサポートするためには、 PKCS11DefaultCert、PKCS11DriverPath、 PKCS11TokenPassword - IBM 4960 PCI 暗号アクセラレーター・ カードをサポートする (AIX のみ)を参照してください。
SSLCryptoCard {rainbowcs | nciphernfast} {on | off}
SSLCryptoCard rainbowcs on
なし
このディレクティブは、Caching Proxy がセキュア要求をポート 443 で listen するように指定するために使用します。
SSLEnable {on | off}
SSLEnable off
このディレクティブは、Caching Proxy が SSL を実装することによって HTTPS 要求にアップグレードする HTTP 要求をアドレス指定するポートを指定するときに使用します。 メイン HTTP ポート 80 または メイン SSL ポート 443 以外のポートを指定します。
SSLForwardPort port number
SSLForwardPort 8888
なし
このディレクティブは、SSL (通常はポート 443) が使用可能なときに、標準 HTTP 要求 (通常はポート 80 および 8080) に対するリスナー・スレッドを使用不可にするために使用します。
SSLOnly {on | off}
SSLOnly off
このディレクティブを使用して、ibmproxy のデフォルト HTTPS ポート 443 以外の HTTPS listen ポートを指定します。
SSLPort port value
ここで、port value は 0 より大きい整数値。さらに、port value がオペレーティング・システムに許可されており、他のアプリケーションに使用されていないことが必要です。
SSLPort 8443
443
これは、フォワード・プロキシー構成にのみ適用されます。
このディレクティブを on に設定すると、宛先サーバー上の任意のポートへの SSL トンネリングが許可されます。このディレクティブを off に設定すると、Proxy 規則で指定されているポートへのみの SSL トンネリングが許可されます。SSL トンネリングに対する Proxy 規則がなく、SSLTunneling ディレクティブが Off の場合は、SSL トンネリングは許可されません。SSLTunneling ディレクティブが on の場合、Enable ディレクティブを使用して、CONNECT メソッドも使用可能にしなければなりません。
Caching Proxy をフォワード・プロキシーとして使用する場合、 このディレクティブを使用可能にする必要があります。 ただし、 Caching Proxy をリバース・プロキシーとして使用する場合は、 このディレクティブを使用不可にしておく (デフォルト) と、 SSL トンネリングのぜい弱性に対するアタックから保護されます。
詳しくは、SSL トンネリング を参照してください。
SSLTunneling {on | off}
SSLTunneling off
このディレクティブは、使用する SSL のバージョン (V2、V3、またはすべてのバージョン) を指定するときに使用します。SSL バージョン 3 をサポートできないサーバーを使用している場合は、このディレクティブを V2 に設定してください。
SSLVersion {SSLV2 | SSLV3 | all}
SSLVersion SSLV3
このディレクティブは、SSL バージョン 2 のセッションがセッション有効期限切れになるまで活動なしに待機する長さ (秒単位) を指定するときに使用します。
SSLV2Timeout seconds
ここで、seconds は 0 と 100 の間の値を表します。
SSLV2Timeout 100
このディレクティブは、SSL バージョン 3 のセッションがセッション有効期限切れになるまで活動なしに待機する長さ (秒単位) を指定するときに使用します。
SSLV3Timeout seconds
ここで、seconds は 1 秒と 86400 秒 (秒数による 1 日) の間の値です。
SSLV3Timeout 100
このディレクティブは、ファイル接尾部を AddClient、AddCharSet、AddType、 AddEncoding、および、AddLanguage ディレクティブの接尾部パターンと比較する場合に、サーバーに大文字小文字を区別させたいかどうかを指定するときに使用します。デフォルトでは、サーバーは大文字小文字を区別しません。
SuffixCaseSense {on | Off}
SuffixCaseSense Off
このディレクティブを使用し、Caching Proxy によって、HTTP Vary ヘッダーを基にしたリソースの 複数のバリアント (URI) をキャッシュに入れることができるようにします。
SupportVaryHeader ディレクティブが使用可能になると、プロキシーは URI を基にしたキャッシュ ID と、 クライアント要求の選択済みヘッダー値を形成します。
選択済みヘッダーの名前は、サーバーからの事前応答で送信された Vary ヘッダーで 指定されます。サーバーがリソースに対する選択済みヘッダー名のセットを変更する場合、 リソースに対する以前のキャッシュ・オブジェクトはすべて、プロキシーのキャッシュから 除去されます。
このディレクティブは、RegisterCacheIdTransformer ディレクティブ (RegisterCacheIdTransformer - Cookie ヘッダーを基にしたリソースの、 複数のバリアントをキャッシュに入れる) と一緒に使用できます。
両方のディレクティブを使用すると、プロキシーは、サーバーおよびクライアントの要求ヘッダーから、Vary ヘッダーを基にした 内部キャッシュ ID 変換プログラムを作成します。このようにして、 プロキシーは、異なる要求と応答のペアに対して (要求された URI が同じであっても) 固有のキャッシュ ID を 生成することができます。
同じ URI のキャッシュ・オブジェクトは、それぞれ固有のデフォルト存続時間を持っており、それは 要求/応答、または他の構成設定値の「Expire」および「Cache-Control」ヘッダーに依存します。 Dynacache プラグインが使用される場合、同じ URI に関連づけられた複数のプレゼンテーションはすべて、 プロキシーのキャッシュ内で共に無効になります。
SupportVaryHeader {on | off}
この例として、以下のディレクティブが ibmproxy.conf で使用可能にされ、構成されています。次のとおりです。
SupportVaryHeader on RegisterCacheIdTransformer Cookie UserGroup
クライアントの Guest は、次のようにしてプロキシー・サーバーにアクセスします。
URI [<code>] http://www.dot.com/group.jpg [</code>]
そして要求/応答は、次のようになります。
GET /group.jpg HTTP/1.1 Host: www.dot.com Cookie: UserGroup=Guest Accept-Language: en_US HTTP/1.1 200 Server: my-server Vary: Accept-Language .......
次に、クライアントの Admin は、同じ URI でプロキシー・サーバーに アクセスします。
http://www.dot.com/group.jpg
そして要求/応答は、次のようになります。
GET /group.jpg HTTP/1.1 Host: www.dot.com Cookie: UserGroup=Admin Accept-Language: fr_FR HTTP/1.1 200 Server: my-server Vary: Accept-Language .......
結果として、応答がキャッシュ可能である場合、プロキシー・サーバーは、2 つの 異なるキャッシュ ID を生成します。
1. CacheID(URI, "Guest", "en_US") 2. CacheID(URI, "Admin", "fr_FR")
プロキシー・サーバーは、キャッシュにあるサーバーからの応答の 2 つの異なるバリアントを 保管しています。その後、クライアントのいずれかが、言語プリファレンスとユーザー・グループ値を 組み合わせて、リソース (.../group.jpg) を要求する時、プロキシー・サーバーは、 キャッシュからリソースの適切なバリアントを検索して、それをサービス供給します。
SupportVaryHeader off
このディレクティブは、SSL 接続で TLS バージョン 1 プロトコルを使用可能にするときに使用します。このディレクティブが on に設定されたら、SSL 接続は最初に TLS プロトコルを検査し、次に SSLv3 プロトコル、最後に SSLv2 プロトコルを検査します。
TLSV1Enable {on | off}
TLSV1Enable on
なし
このディレクティブは、データ操作ステップ中にサーバーが呼び出すカスタマイズ済みアプリケーション関数を指定するときに使用します。このコードは、3 つのアプリケーション関数を提供します。
サーバーの各インスタンスごとに複数の Transmogrifier をアクティブにすることができます。
Transmogrifier /path/file:function_name:function_name:function_name
Transmogrifier /ics/bin/icsext05.so:open_data:write_data:close_data
なし
このディレクティブは、データに関する以下の内容を通知するメッセージをクライアントへ送信するために使用します。
transmogrifiedwaning {yes|no}
Yes
これは、フォワード・プロキシー構成にのみ適用されます。
Linux システムの場合にのみ、このディレクティブを使用すると、 サーバーが透過プロキシー・サーバーとして稼働できるかどうかを指定できます。
TransparentProxy ディレクティブを on に設定すると、BindSpecific ディレクティブは無視されて、デフォルトで off となります。ほとんどの HTTP トラフィックがポート 80 を流れるため、ポート 80 を構成ポートの 1 つにすることをお勧めします。
TransparentProxy {on | off} Port 80
TransparentProxy off
IPCHAIN ファイアウォールを使用する場合、 このディレクティブを使用可能にするだけで、透過プロキシーを正常に構成できます。 IPTABLES ファイアウォールを使用する場合は、 IPTABLES ファイアウォール・ルールを手動で追加する必要があります。
IPTABLES ファイアウォールを使用していて、TransparentProxy ディレクティブを使用可能に設定した場合、 プロキシー・サーバーを開始する前に、 次のコマンドを実行して、ファイアウォール・ルールを IPTABLES に追加してください。
iptables -t nat -A PREROUTING -i your-network-interface -p tcp --dport 80 -j REDIRECT --to-port ibmproxy-listening-port
ファイアウォールとプロキシー・サーバーが同じボックス上にあると想定すると、 このルールでは、IPTABLES ファイアウォールに対し、 ポート 80 を宛先とするすべての TCP トラフィックを、 ローカル・プロキシー listen ポートにリダイレクトするよう指示します。 このルールを IPTABLES 構成に追加することもできます。これにより、 システム再始動時に、このルールが自動的に読み込まれます。
透過プロキシーの開始後に、 Caching Proxy サーバーを停止したい場合は、 ルートとして以下のコマンドを発行することも必要です。
ibmproxy -unload
Linux システムでは、 このコマンドでリダイレクト・ファイアウォール・ルールを除去します。サーバーを停止した後に、このコマンドを出さないでいると、ユーザーのマシンに宛先指定されたものでない要求を受信してしまうことになります。
このディレクティブは、キャッシュ・エージェントがどのプロキシー・サーバーを更新するかを指定するときに使用します。これは、キャッシュ・エージェントが稼働しているローカル・プロキシー・サーバー以外のプロキシー・サーバーをキャッシュ・エージェントが更新する必要がある場合に必要とされます。オプションで、ポートを指定することができます。
キャッシュ・エージェントは別のサーバー上のキャッシュを更新できますが、そのマシンからのキャッシュ・アクセス・ログを検索することはできません。したがって、UpdateProxy ディレクティブがローカル・ホスト以外のホストを指定している場合、LoadTopCached ディレクティブは無視されます。
UpdateProxy fully_qualified_host_name_of_proxy_server
UpdateProxy proxy15.ibm.com:1080
なし
このディレクティブは、サーバーがファイルにアクセスする前に変更する先のユーザー名または番号を指定するときに使用します。
このディレクティブを変更した場合には、サーバーを手動で停止してから再始動しなければ、変更が有効になりません。再始動しただけでは、サーバーは変更を認識しません。 (Caching Proxy の開始および停止を参照してください。)
UserId {ID_name | number}
AIX, Linux, Solaris: UserId nobody
HP-UX: UserId www
このディレクティブは、SSL バージョン 2 に使用可能な暗号仕様をリストします。
V2CipherSpecs specification
以下を任意に組み合わせたものが許容値となります。いずれも 2 回使用することはできません。
なし (デフォルトでは SSL は使用不可)
このディレクティブは、SSL バージョン 3 について使用可能な暗号仕様をリストします。
FIPSenable ディレクティブが「on」に設定されている場合、V3CipherSpecs ディレクティブは 無視されます。詳しくは、FIPSEnable - SSLV3 および TLS 用の Federal Information Processing Standard (FIPS) 承認済み暗号を使用可能にする を参照してください。
V3CipherSpecs specification
許容値として、以下の値があります。
なし (デフォルトでは SSL は使用不可)
このディレクティブは、SSL 証明書の有効期限切れ 30 日前の通知など、選ばれた Caching Proxy 報告書を受け取るための電子メール・アドレスを設定するために使用します。 Linux および UNIX システムでは、sendmail プロセスが実行されていなければなりません。 Windows システムの場合、sendmail プロセスは Caching Proxy 内に構築されるため、外部メール・サーバーは必要ありませんが、他にWebMasterSocksServer (Windows のみ) - sendmail ルーチン用に Socks サーバーを設定するおよびSMTPServer (Windows のみ) - sendmail ルーチン用に SMTP サーバーを設定するで説明する 2 つのディレクティブを設定しなければなりません。
WebMasterEMail webmastermailaddress
WebMasterEmail webmaster@computer.com
WebMasterEmail webmaster
このディレクティブは、Caching Proxy for Windows 内の内部 sendmail ルーチンによって使用される Socks サーバーを設定するために使用します。 WebMasterEMail - 選ばれたサーバー報告書を受け取るための電子メール・アドレスを設定するおよびSMTPServer (Windows のみ) - sendmail ルーチン用に SMTP サーバーを設定するで説明する 2 つのディレクティブも、このルーチンのために設定しなければなりません。
WebMasterSocksServer IP address or hostname of socks server
WebMasterSocksServer socks.mybox.com
なし
このディレクティブは、特定のファイル名を含んでいない要求に応答するためにサーバーが探索するウェルカム・ファイルの名前を指定するときに使用します。このディレクティブを構成ファイル内に複数回指定して、ウェルカム・ファイルのリストを作成することができます。
ファイル名またはディレクトリー名を含まない要求の場合、サーバーは、常にファイル・ルート・ディレクトリーを見て、Welcome ディレクティブに指定された名前と一致するファイルを探します。 一致するファイルが見つかると、そのファイルが要求側に戻されます。
サーバーが、ディレクトリー内のファイルと Welcome ディレクティブに指定されたファイル名との間で一致するものを複数見つけた場合は、Welcome ディレクティブの順序によって、どのファイルが戻されるかが決まります。 サーバーは、構成ファイルの一番上に最も近い Welcome ディレクティブを使用します。
Welcome file_name [server_IP_address | host_name]
IP アドレス (例えば、240.146.167.72) を指定するか、またはホスト名 (例えば、hostA.bcd.com) を指定することができます。
このパラメーターはオプションです。このパラメーターを使用しないと、サーバーは、要求が入ってきた IP アドレスや URL のホスト名とは無関係に、このディレクティブをすべての要求に使用します。
ワイルドカード文字をサーバーの IP アドレスとして指定することはできません。
Welcome CustomerA.html 0.67.106.79 Welcome CustomerB.html 0.83.100.45
Welcome CustomerA.html hostA.bcd.com Welcome CustomerB.html hostB.bcd.com
以下のデフォルトは、デフォルト構成で使用される順になっています。
Welcome Welcome.html Welcome welcome.html Welcome index.html Welcome Frntpage.html