Squid が HTTPS ホストを記録してもページパスを記録しない理由
通常の Squid CONNECT ログに HTTPS パスが現れない理由を、TLS 傍受を日常的なログ設定と見なさずに説明する。
shop.example:443 の記録は Squid に /orders/42 というパスを与えない。CONNECT はホスト/ポートを要求し、その後、宛先の TLS が HTTP パスをトンネル内で運ぶ。
| 根拠 | 通常の CONNECT 中継 |
|---|---|
| 宛先ホスト/ポートとトンネルの結果 | プロキシから利用できる。 |
| 内部の HTTPS パスとアプリケーション要求 | クライアントとウェブサイトの間で暗号化される。 |
# で始まるブラウザ URL のフラグメント | 通常はクライアント内に残り、プロキシのログの外でもそうである。 |
ログ形式は Squid が持つフィールドを記録できるが、見ていないメッセージを復号することはできない。平文 HTTP の転送は、中間者がその HTTP 要求を受け取るため異なる。より詳細な出力は CONNECT の境界を変えない。
管理された TLS 傍受はクライアントの信頼と管理要件を変える。小さなログのスイッチではなく、IP を変える通常のフォワードプロキシには不要である。
アプリケーションを所有していてページ単位の診断が必要なら、そのログか適切に設計されたクライアントテレメトリを使う。プロキシの障害では宛先ホスト、時刻、状態、完了した接続段階を保持する。これらは多くの場合、非公開のページパスを集めずに問題を特定する。