我在我的Web.config中定义了以下规则:
<rule name="Enforce canonical hostname" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTP_HOST}" negate="true" pattern="^www\.mydomain\.org$" /> </conditions> <action type="Redirect" url="http://www.mydomain.com/" redirectType="Permanent" /> </rule>
我所经历的奇怪的是…
看来我被redirect到https://www.mydomain.com/ ,这导致我的浏览器挂起。 我没有打开SSLencryption,也没有任何特殊的授权规则。 有问题的Web服务器位于F5负载均衡器的后面。
有任何想法吗?
启用网站的失败请求跟踪,并跟踪任何响应代码(100-500适用于我),所有选项。
一旦获得了日志,使用精简视图,并检查你正在交给谁作为input,以及你发送的输出是否与你的规则期望看到的一致。
如果Web服务器使用301/302 http://www.example.com完成,则知道*您的问题是外部的。
我不能说F5,但对于ISA,如果您以HTTPS身份遍历连接,则会将后续请求升级/redirect到HTTPS,以避免Cookie在这种情况下清除。
负载均衡器重写redirect到始终是HTTPS。 请参阅可能在负载均衡器后面将HTTPSredirect到HTTP? 获取更多信息。