最終更新日: 2014年5月1日
Squid Home / Index

ディレクティブ: request_header_add

以前の名前:
動作条件:
デフォルト値: none
提案された設定:

使い方: request_header_add field-name field-value acl1 [acl2] ...
例: request_header_add X-Client-CA "CA=%ssl::>cert_issuer" all

このオプションは、送信のHTTPリクエストにヘッダフィールドが追加されます。(つまり、Squidからの次のキャッシュピアサーバ(cache peer)やオリジナルサーバへの送信ヘッダーに)
オプションは、キャッシュヒット検出時は効果がありません。
これと同等なものとして、ICAPでのベクターポイント(vectoring point)でのpost-cacheのREQMODが適合します。

Field-name は、HTTPヘッダ名を指定するトークンです。
標準のHTTPヘッダー名を使用する場合は、Squidは新しいヘッダーと既存のヘッダーとの競合や、HTTPルールに違反しているかどうかをチェックしません。
変更するリクエストに同じ名前のフィールドが含まれている場合、古いフィールドが保持されヘッダフィールドの値はマージされません。

Field-value は、トークンまたは引用符で囲まれた文字列のいずれかです。
引用符で囲まれた文字列の書式を使用する場合は、エスケープシーケンスと%マクロが処理されている間は周囲の引用符が削除されます。

理論上は、ログフォーマットのコードの全ては%マクロとして使用できます。
ただし、ロギングとは異なり(トランザクション存続の最後に発生します)、トランザクションはまだ新しいヘッダの値が必要とされるときにマクロを展開するするのに十分な情報がない可能性があります。
そして、いくつかの情報はSquidで既に利用することができますが、マクロ展開コードにアクセスがまだコミットされない場合があります。(レポートのような場合!)
そのような場合には、マクロは単一のダッシュ("-")に展開されます。すべてのマクロは、テストされていません。

一つ以上のSquidのACLは、一致するリクエストで制限されたヘッダーの注入(header injection)を指定することができる。
いつものように squid.conf の中で、ACLリストの中にすべてを満たすための all ACLを挿入しなくてはならない。
request_header_add オプションは、高速のACLをサポートしています。

Topへ戻る

Copyright© 1998-2014 ROBATA.ORG