Web 配置重写规则,以强制 HTTP 在多租户应用程序上使用 HTTP



我有一个多租户门户系统,但重写规则在多个条件下不起作用

<rule name="HTTP to HTTPS redirect" stopProcessing="true">
        <match url="^(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
<add input="{HTTPS1}" pattern="^(website1.com|www.website1.com)$" />
<add input="{HTTPS2}" pattern="^(website2.com|www.website2.com)$" />
<add input="{HTTPS3}" pattern="^(website3.com|www.website3.com)$" />
<add input="{HTTPS4}" pattern="^(website4.com|www.website4.com)$" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="https://{HTTP_HOST}/{R:1}" />
    </rule>

我希望当我在我的网络浏览器上访问 http://portal.website1.com 时,该程序应该带我去 https://portal.website1.com 并为 portal.website2.com portal.website3.com,portal.website4 做同样的事情.com

但它仅适用于 portal.website2.com 和 portal.website3.com,它不会在 portal.website1.com 和 portal.website4.com 上强制HTTPS

system.WebServer中试试这个:

 <system.webServer>
....
    <rewrite>
            <rules>
                <rule name="Force HTTPS" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
                    <match url="*" />
                    <conditions logicalGrouping="MatchAny">
                        <add input="{HTTPS}" pattern="off" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URO}" redirectType="Temporary" />
                </rule>
            </rules>
        </rewrite>
  </system.webServer>

最新更新