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?

È stato utile?

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

Altri suggerimenti

È possibile impostare il flag preserveHostHeader a mano.

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

</system.webServer>

Nella GUI di configurazione di IIS è possibile trovare questo valore sotto system.webServer/proxy.

entrare descrizione dell'immagine qui

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top