Frage

Ich bin mit IIS7 Routing von Anwendungsanforderungen vor Tomcat als Ersatz für ISAPI Umleitung. Die grundlegende Reverse-Proxy-Funktion funktioniert gut, aber ich habe nicht genug Informationen, die in den letzten Request-Header. Meine Anwendung besteht auf mehr Sub-Domains. Customerone.ourservice.com, customertwo.ourservice.com usw. Jede Sub-Domain läuft die gleiche Anwendung, jedoch mit unterschiedlichen Branding Grafiken

Die Anwendung sieht gegenwärtig auf der Host-Header zu sagen, welche Branding angezeigt werden soll. Wenn ich die IIS7 Reverse-Proxy verwenden, wird diese Information verloren. Meine Header sind jetzt:

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

Gibt es eine Möglichkeit, die ursprünglichen Host-Header in die Request-Header durch die Reverse-Proxy weitergegeben einfügen kann?

War es hilfreich?

Lösung

Routing von Anwendungsanforderungen hat eine Option, die ursprünglichen Host-Header zu erhalten: preserveHostHeader. Diese Option ist standardmäßig false. Sie können es ermöglichen, mit:

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

Andere Tipps

Sie könnten die preserveHostHeader Flagge von Hand gesetzt.

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

</system.webServer>

In der IIS-Konfiguration gui Sie diesen Wert unter system.webServer/proxy finden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top