最近プードルの脆弱性が明らかになった後、私たちのチームはSSLv3から移行することを決定しました。しかし、完全に削除する前に、ブラウザが非推奨のSSLv3を使用することをdaily usersに警告したいと考えています。だから、私たちはアイデアを思いついた
次に、バックエンドコードがそのヘッダーを処理し、警告を表示しますクライアントがSSLv3を使用する場合。
Nginxには機能proxy_set_header
。だからこれは簡単です
proxy_set_header X-HTTPS-Protocol $something;
さて、問題は次のとおりです。明らかにnginxはクライアントが使用するプロトコルを知っていますが、その情報をHTTPヘッダー経由でバックエンドに渡すにはどうすればよいですか?
ありがとう
同様のスレッド SSLv3を使用している場合はApacheリダイレクトユーザー で指摘されているように、このアイデアは非常に悪いアイデアになる可能性があります。
その理由は、HTTPトラフィックがTLSトンネルを介して送信される前にTLSハンドシェイクが発生するためです。バックエンドがSSLプロトコルを検出するまでに、クライアントは最初のリクエストでプライベートデータを送信した可能性があります。永続的で長期的なソリューションの場合、SSLv3を無効にすることを検討する必要があります。
Nginxはconfigで使用できる多くの変数を使用します。 このページ は、変数の完全なリストを提供しました。 HTTPSリクエストでプロトコルを保持する変数は ssl_protocol
。引用:
$ssl_protocol
確立されたSSL接続のプロトコルを返します。
だからあなたのproxy_set_header
構成は
proxy_set_header X-HTTPS-Protocol $ssl_protocol;
別の参照: ここ