Modyfikowanie nagłówków za pomocą routingu żądań aplikacji IIS7

Używam routingu żądań aplikacji IIS7 przed Tomcat jako zamiennika przekierowania ISAPI. Podstawowa funkcja odwrotnego proxy działa dobrze, ale nie mam wystarczającej ilości informacji w nagłówkach końcowych żądań. Moja aplikacja istnieje na kilku subdomenach: customerone.ourservice.com, customertwo.ourservice.com, itd. Każda subdomena uruchamia tę samą aplikację, ale z inną grafiką brandingową.

Aplikacja obecnie patrzy na nagłówek hosta, aby powiedzieć które marki wyświetlać. Kiedy używam odwrotnego serwera proxy IIS7, informacje te są tracone. Moje nagłówki są teraz:

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

Czy Jest jakiś sposób, aby wstawić oryginalny nagłówek hosta do nagłówków żądań przekazywanych przez odwrotne proxy?

Author: abatishchev, 2009-12-03

2 answers

Routing żądań aplikacji ma opcję zachowania oryginalnego nagłówka hosta: preserveHostHeader. Ta opcja jest domyślnie false. Można go włączyć za pomocą:

"C:\Windows\System32\inetsrv\appcmd.exe" set config -section:system.webServer/proxy /preserveHostHeader:"True" /commit:apphost
 43
Author: Atacan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-09 14:29:08

Możesz ustawić flagę preserveHostHeader Ręcznie.

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

</system.webServer>

W gui konfiguracji iis można znaleźć tę wartość pod system.webServer/proxy.

Tutaj wpisz opis obrazka

 2
Author: hdev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-21 08:21:13