http 到 https 重定向多个站点

http 到 https 重定向多个站点

我使用 IIS10,并且想将所有网站的所有 HTTP 重定向到 HTTPS。

例如:

  • http://one.test.example应重定向至https://one.test.example
  • http://two.test.example应重定向至https://two.test.example
  • http://three.test.example应重定向至https://three.test.example

所有站点均位于同一服务器中,使用同一接口(相同 IP,相同 443 端口)

我尝试了多种解决方案,但都没有效果。

答案1

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="HTTPS" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{HTTPS}" pattern="^OFF$" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>


在子域的根文件夹中使用此 web.config 文件。这将使用查询字符串将所有请求重写为 https。

答案2

为了实现这一点,您需要在 IIS 中为每个域和规则分别创建一个单独的站点。检查配置重写规则文章一些示例。此外,您还需要下载并安装URL 重写模块。如果你在服务器上,请查看如何在Windows 服务器

相关内容