web-dev-qa-db-ja.com

X-ARR-ClientCertヘッダーを転送しないアプリケーション要求ルーティングリバースプロキシ

IIS ARRをリバースプロキシとして設定し、その背後にWebアプリを配置しています。X-ARR-ClientCertヘッダーに値を指定してHTTPSリクエストをプロキシに送信すると、その値がWebアプリに到達しません。これを修正するにはどうすればよいですか?

クライアント証明書を受け入れるようにSSL設定を設定しました。 このガイド に従って、system.webServer/proxy構成フィールドをX-ARR-ClientCert以外のものに変更しましたが成功しませんでした。

プロキシは他のヘッダーを適切に通過させます。

1
Piedone

X-ARR-ClientCertは、ARRとの相互SSLハンドシェイクがあった場合に送信されます。そのシナリオでは相互SSLハンドシェイクが実際にはなかったため、X-ARR-ClientCertヘッダーを使用してhttps経由でリクエストを送信するだけでは不十分です。相互SSLハンドシェイクとは、ブラウザまたはクライアントがクライアント証明書の入力を求められ、クライアントが証明書を提供することを意味します。

セットアップをX-ARR-ClientCertヘッダーで機能させる場合は、 ARR Helper をインストールすることをお勧めします。その機能の1つは、X-ARR-ClientCertヘッダー(base64でエンコードされた証明書を持つ任意のヘッダーになるように構成可能)を読み取り、クライアント証明書を持つ要求をエミュレートすることです。

2
milope