【问题标题】:Multiple http bindings to HTTPS多个 http 绑定到 HTTPS
【发布时间】:2020-05-06 15:27:44
【问题描述】:

Windows 服务器 2012

我有 1 个 IIS 容器,其中一个域和 2 个域共有 4 个不同的 URL,如下所示(使用绑定设置)

www.site1.com site1.com www.site1.co.uk site1.co.uk

www.site2.com 网站2.com www.site2.co.uk site2.co.uk www.site1.com - 是主域,这意味着上述 URL 的任何组合都必须将用户带到 www.site1.com 或 www.site2.com

我有以下规则将这些网站带到主 URL

<rule name="PrimarySite" patternSyntax="Wildcard" stopProcessing="true">
      <match url="*" />
      <conditions logicalGrouping="MatchAny">
        <add input="{HTTP_HOST}" pattern="site1.co.uk" />
        <add input="{HTTP_HOST}" pattern="www.site1.co.uk" />
        <add input="{HTTP_HOST}" pattern="site1.com" />
      </conditions>
      <action type="Redirect" url="http://www.site1.com/{R:0}" />
    </rule>

我现在想要同样的,但对于 HTTPs,所以添加了一条新规则(仅适用于站点 1,但我会为站点 2 做同样的事情)。

    <rule name="site1HTTPS" stopProcessing="true">
                <match url="(.*)" />
                <conditions trackAllCaptures="true" logicalGrouping="MatchAny">
                  <add input="{HTTP_HOST}" pattern="site1.co.uk" />
                  <add input="{HTTP_HOST}" pattern="www.site1.co.uk" />
                  <add input="{HTTP_HOST}" pattern="site1.com" />
                    <add input="{HTTPS}" pattern="off" />
                </conditions>
                <action type="Redirect" url="https://{C:1}{REQUEST_URI}" appendQueryString="false" redirectType="Permanent"/>
            </rule>

当我添加这个时,我收到一个重定向循环错误并尝试了不同的组合,但它似乎不起作用。

我错过了什么(我必须遵守规则)?

【问题讨论】:

标签: iis iis-8 windows-server-2012-r2


【解决方案1】:

对 3 {HTTP_HOST} 和 {HTTPS} 使用 MatchAny 会弄乱重定向逻辑。

您可以将 3 个条件合二为一,以便 {HTTP_HOST} 和 {HTTPS} 可以与“MatchAll”并排使用。

<rule name="test">
       <match url="(.*)" />
        <conditions>
            <add input="{HTTP_HOST}" pattern="(site1|site2)\.(com|co.uk)" />
            <add input="{HTTPS}" pattern="^off$" />
        </conditions>
      <action type="Rewrite" url="https://{HTTP_HOST}{REQUEST_URI}" />

最好的问候, 山姆

【讨论】:

  • 谢谢 - 您是否建议完全删除我拥有的第一条规则并添加您发布的规则,它将处理 http 请求并将它们指向多个域的 https?我将为站点 2 添加另一个规则并更改 {HTTP_HOST} 和 {HTTPS}
  • 是的,因为下面的条件可以同时满足你发帖的三个条件。
猜你喜欢
  • 2021-11-10
  • 2012-11-16
  • 2015-02-03
  • 1970-01-01
  • 2013-08-15
  • 2016-07-11
  • 2017-05-25
  • 1970-01-01
相关资源
最近更新 更多