Squid 7 の認証済みユーザー名を ICAP サービスに渡す
ユーザー名の転送を有効にし、適応サービスが期待する ICAP メタデータヘッダーとエンコーディングについて合意します。
ICAP サービスは Squid が認識する認証済みの ID を受け取れますが、その ID をどのように運ぶかについて双方が合意する必要があります。ヘッダーに名前を付けるだけではユーザー名の転送は有効になりません。
ICAP サポートとクライアント認証を備えた既存の Squid 7 環境では、関連する設定は次のとおりです。
adaptation_send_username on
icap_client_username_header X-Authenticated-User
icap_client_username_encode off
これは既存の ICAP サービス、適応ルール、プロキシアクセスの構成を補足するものです。認証や適応サービスを作成するものではありません。
サービスの入力に合わせる
Squid のデフォルトのユーザー名ヘッダーは X-Client-Username です。アダプターが X-Authenticated-User を期待する場合は、上記のように Squid の設定名を変更するか、アダプターがデフォルトを読むように設定します。ヘッダー名の照合は HTTP の大文字と小文字を区別しない規則に従います。
エンコーディングも一致させる必要があります。icap_client_username_encode が有効な場合、Squid は値を Base64 でエンコードします。サービスはその表現を別のユーザー名として扱うのではなく、デコードする必要があります。
これは Squid とそのサービスの間の ICAP 交換に関するメタデータです。すべての宛先ウェブサイトにユーザー ID ヘッダーを送る指示ではありません。
サービスが依然として IP アドレスを報告する場合
トランザクションに実際に Squid 側の認証済みユーザー名があり、ユーザー名の転送が有効で、サービスが設定されたヘッダーを読んでいることを確認します。アダプターがクライアントアドレスにフォールバックしても、Squid の認証が失敗した証拠にはなりません。受け渡し自体が欠けているか、名前が誤っている可能性があります。
この ID を信頼できるのは、Squid からアダプターまでの管理された経路だけです。これらのディレクティブはバージョン固有です。構成リファレンスは Squid 7 および以前の系統向けにこれらを記載し、Squid 8 では利用できないとしています。