我在Tomcat前面使用IIS7应用程序请求路由作为ISAPI重定向的替代.基本的反向代理功能运行正常,但在最终请求头中没有足够的信息.我的应用程序存在于几个子域:customerone.ourservice.com,customertwo.ourservice.com等.每个子域都运行相同的应用程序,但具有不同的品牌图形.
该应用程序目前正在查看主机头,以确定要显示的品牌.当我使用IIS7反向代理时,该信息丢失.我的标题现在是:
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
有什么办法可以将原始的Host头插入到反向代理传递的请求头中吗?
解决方法
应用程序请求路由选择保留原始主机头:preserveHostHeader.此选项默认为false.您可以启用它:
"C:\Windows\System32\inetsrv\appcmd.exe" set config -section:system.webServer/proxy /preserveHostHeader:"True" /commit:apphost