20

ISAPI リダイレクトの代わりに、Tomcat の前で IIS7 アプリケーション リクエスト ルーティングを使用しています。基本的なリバース プロキシ機能はうまく機能していますが、最終的な要求ヘッダーに十分な情報がありません。私のアプリケーションは、customerone.ourservice.com、customertwo.ourservice.com などの複数のサブドメインに存在します。各サブドメインは同じアプリケーションを実行しますが、ブランド グラフィックが異なります。

現在、アプリケーションは Host ヘッダーを見て、表示するブランドを判断しています。IIS7 リバース プロキシを使用すると、その情報が失われます。私のヘッダーは次のとおりです。

accept = text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
accept-charset = ISO-8859-1,utf-8;q=0.7,*;q=0.7
accept-encoding = gzip,deflate
accept-language = en-gb,en;q=0.7,en-us;q=0.3
cookie = JSESSIONID=......
host = 127.0.0.1:8080
max-forwards = 10
user-agent = Mozilla/5.0 (X11; U; Linux x86_64; en-GB; rv:1.9.0.15) Gecko/2009102815 Ubuntu/9.04 (jaunty) Firefox/3.0.15
x-original-url = /
x-forwarded-for = [iis7ip]:47567
x-arr-log-id = affbf81c-a5cf-4212-a43b-901cd9adcee6
connection = Keep-Alive

リバース プロキシによって渡される要求ヘッダーに元の Host ヘッダーを挿入する方法はありますか?

4

2 に答える 2

46

Application Request Routing には、元のホスト ヘッダーを保持するオプション、preserveHostHeader があります。このオプションはデフォルトで false です。次の方法で有効にできます。

"C:\Windows\System32\inetsrv\appcmd.exe" set config -section:system.webServer/proxy /preserveHostHeader:"True" /commit:apphost
于 2011-08-24T18:37:38.640 に答える
2

preserveHostHeader手でフラグを設定できます。

    <proxy enabled="true" preserveHostHeader="true" />

</system.webServer>

iis 構成 GUI では、この値は の下にありsystem.webServer/proxyます。

ここに画像の説明を入力

于 2015-08-21T08:21:13.407 に答える