Modifica delle intestazioni con IIS7 Application Request Routing
-
12-09-2019 - |
Domanda
sto usando IIS7 Application Request Routing davanti Tomcat come una sostituzione per il reindirizzamento ISAPI. La funzione di base proxy inverso sta lavorando bene, ma non dispone di informazioni sufficienti nelle intestazioni di richiesta finale. esiste la mia applicazione su diversi sottodomini:. customerone.ourservice.com, customertwo.ourservice.com, ecc Ogni sottodominio esegue la stessa applicazione, ma con grafica diversa di branding
L'applicazione attualmente esamina l'intestazione host per dire che il marchio da visualizzare. Quando uso il proxy inverso IIS7, che l'informazione è persa. Le intestazioni sono ora:
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
C'è un modo posso inserire l'intestazione host originale nelle intestazioni di richiesta trasmessi dal proxy inverso?
Soluzione
Application Request Routing ha un'opzione per conservare l'intestazione host originale: preserveHostHeader. Questa opzione è di falsa impostazione predefinita. È possibile attivare con:
"C:\Windows\System32\inetsrv\appcmd.exe" set config -section:system.webServer/proxy /preserveHostHeader:"True" /commit:apphost