【问题标题】:Canonical Hostname with URLRewrite 2.0 behind load balancer负载均衡器后面带有 URLRewrite 2.0 的规范主机名
【发布时间】:2011-03-16 22:52:55
【问题描述】:

我在负载平衡器后面有两个 IIS7 Web 服务器。 URL Rewrite 2.0 模块安装在两个服务器上,以下重写规则应用于两个实例:

<rule name="Enforce canonical hostname" stopProcessing="true">
    <match url="(.*)" />
    <conditions>
        <add input="{HTTP_HOST}" negate="true" pattern="^www\.mydomain\.com$" />
    </conditions>
    <action type="Redirect" url="http://www.mydomain.com/{R:1}" redirectType="Permanent" />
</rule>

当我尝试导航到 http://mydomain.com 时,我的网络浏览器无限期挂起。我怀疑负载平衡器正在影响 URL 重写的工作方式,但我不能确定。

【问题讨论】:

    标签: iis-7 url-rewriting load-balancing


    【解决方案1】:

    我们最终使用了以下技术:

    http://www.mcanerin.com/en/articles/301-redirect-iis.asp

    关键是在域名末尾添加 $S$Q

    【讨论】:

      【解决方案2】:

      我的猜测是, 1. 负载均衡器将您的请求转发到您的子服务器 2. 当请求到达子服务器时,它们会根据您的 URL 重定向规则重定向请求,因此您的请求被重定向并再次出现在负载均衡器上 3. 并遵循相同的程序(步骤 1-2),

      因此您的请求一次又一次地循环,您的浏览器被挂起。

      【讨论】:

      • 感谢您的洞察,Sumit。关于循环......我的规则是否不适用于循环的第二次迭代,因为我正在重定向到 www.mydomain.com。我的规则应该只适用于没有 www. 的 mydomain.com
      • 我认为它会重定向,直到您提供完整路径,即您的页面的路径..即使您提供 www。 ,我认为它会重定向..虽然我不确定..但我认为这就是重定向背后的概念,建议您在服务器上尝试一次。通过删除重定向规则或输入您要访问的页面的完整路径并查看发生了什么。
      猜你喜欢
      • 2017-07-15
      • 1970-01-01
      • 2013-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-07
      • 2015-09-03
      • 2017-05-25
      相关资源
      最近更新 更多