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?
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
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
.
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