Redirect Amazon弹性负载均衡器下的特殊非www到www重定向
如何使用IIS的重写规则扩展(writes to web.config)在IIS7中创建301重定向,该扩展将允许将非www重定向到www-但是,我不想使用(.*),我希望URL重写器忽略类似DNS的URL,以便它可以在Amazon负载平衡器下工作。没有它,Amazon负载平衡器将无法读取健康检查文件,因为它将被重定向,而不是获得200OK,而是获得301 所以我实际上需要一个规则来匹配包含mydomain.com的URL,或者一个以它开头的URL,这样它就不会循环 当前规则不好:Redirect Amazon弹性负载均衡器下的特殊非www到www重定向,redirect,iis-7,amazon-web-services,Redirect,Iis 7,Amazon Web Services,如何使用IIS的重写规则扩展(writes to web.config)在IIS7中创建301重定向,该扩展将允许将非www重定向到www-但是,我不想使用(.*),我希望URL重写器忽略类似DNS的URL,以便它可以在Amazon负载平衡器下工作。没有它,Amazon负载平衡器将无法读取健康检查文件,因为它将被重定向,而不是获得200OK,而是获得301 所以我实际上需要一个规则来匹配包含mydomain.com的URL,或者一个以它开头的URL,这样它就不会循环 当前规则不好: <re
<rewrite>
<rules>
<rule name="CanonicalHostNameRule1">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www\.mydomain\.com$" negate="true" />
</conditions>
<action type="Redirect" url="http://www.mydomain.com/{R:1}" />
</rule>
</rules>
</rewrite>
这会将dns.amzn.com等URL重定向到www.mydomain.com-我已经在IIS7上尝试过了
需要更好的解决方案您有解决方案吗 我使用{HTTP_USER_AGENT}添加了一个不匹配ELB(用户代理)的条件。 这阻止了ELB的规则运行,但我现在正在测试这一点 干杯 还添加了以下内容:
<rule name="Redirect to HTTPS" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTPS}" pattern="^OFF$" />
<add input="{HTTP_USER_AGENT}" pattern="ELB-HealthChecker" negate="true" />
<add input="{HTTP_X_FORWARDED_PROTO}" pattern="HTTPS" negate="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
你想要的是
<add input="{HTTP_USER_AGENT}" pattern="ELB-HealthChecker" negate="true" />