我在IIS上build立了一个网站(www.mysite.com)来提供SSL和Windows身份validation,并将所有HTTPS请求转发到另一台服务器(BIOS名称:internalserver;端口2080)。 指定此设置的规则显示如下:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <outboundRules> <preConditions> <preCondition name="ResponseIsHtml1"> <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" /> </preCondition> </preConditions> </outboundRules> <rules> <rule name="ReverseProxyInboundRule1" stopProcessing="true"> <match url="(.*)" /> <action type="Rewrite" url="http://InternalServer:2080/{R:1}" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
这导致了以下行为(可在IExplorer和Firefox中重现):
单击www.mysite.com导致错误502“Web服务器收到无效的响应,同时充当网关或代理服务器”
重新加载页面会导致网站加载 – 但未格式化,表明未findCSS文件。
第二次重新加载页面会导致网站正确加载,包括CSS指定的格式。
每当浏览器closures并重新启动时,错误502就会重新出现。
另一方面,如果我使用基本身份validation而不是Windows身份validation,反向代理工作得很好,没有上述问题出现。
我的问题是: