Asp.net

使用 IIS7 應用程序請求路由修改標頭

  • December 3, 2009

我在 Tomcat 前使用 IIS7 應用程序請求路由來替代 ISAPI 重定向。基本的反向代理功能執行良好,但我在最終請求標頭中沒有足夠的資訊。我的應用程序存在於多個子域中: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 標頭插入反向代理傳遞的請求標頭中?

應用程序請求路由具有保留原始主機頭的選項:preserveHostHeader。此選項預設為 false。您可以通過以下方式啟用它:

"C:\Windows\System32\inetsrv\appcmd.exe" set config -section:system.webServer/proxy /preserveHostHeader:"True" /commit:apphost

引用自:https://stackoverflow.com/questions/1842885