web-dev-qa-db-ja.com

IIS ARRの前にロケーションヘッダーを書き換える

次のような構成では、ARRをリバースプロキシとして扱う書き換え構成があります。

Browser client (OriginA) <-> IIS/ARR (OriginB) <-> Server

クライアントは任意の数のWebブラウザです。この構成を変更することはできません。

  1. クライアントは、リクエストに http:// origina/done.html などのURLを使用して http:// originb/return をリクエストします。
  2. 次に、ARRはリクエストを http:// server/return に転送します。
  3. サーバーは、Locationヘッダーを http://origina/done.html およびHTTP302に設定して応答します。これをWiresharkで確認しました。
  4. パイプラインのどこかにあるIISは、Locationヘッダーを http://originb/done.html に変更しています。 ここから問題が始まります。
  5. ARRは、LocationヘッダーのPATTERN_MATCHステップでoriginbURLを確認します。
  6. ARRは、GENERAL_RESPONSE_HEADERSステップのLocationヘッダーとしてoriginbURLを報告します。
  7. クライアントは盲目的にURLを受け入れ、存在しない http://originb/done.html ではなく http://origina/done.html にリダイレクトします。

私はFailedRequest Tracingをクランクアップしました。それが、ステップ5と6を見た方法です。

IISがARRの前にLocationヘッダーを書き換える原因は何でしょうか?これを理解するために使用できる他のIISツールはありますか?

3
Daniel A. White

私のGooglefuは今日私を失敗させていました。

の中に Server Proxy SettingsペインのIISマネージャー、「応答ヘッダーの逆書き換えホスト」のチェックを外す必要がありました。

4
Daniel A. White