将HTTP重定向到IIS(Windows Server)中的HTTP
在IIS网站上安装了SSL证书后,您将需要配置一项规则,以自动将所有输入的不安全的HTTP请求重定向到HTTPS URL。
要在IIS中创建重定向规则,您必须下载并安装URL重写模块2.1IIS模块(https://www.iis.net/downloads/microsoft/url-rewrite)。
然后打开Internet信息服务经理控制台(InetMgr.exe)并选择您的网站。
去SSL设置部分并确保需要SSL选项是未启用。如果不是,这将导致与重写URL重定向规则的冲突403.4禁止错误。


然后去URL重写部分。


选择添加规则- >空白规则。
指定规则名称并配置以下参数值:
- 请求的URL->
Matches the Pattern - 使用 - >
Wildcards - 模式 - >
*


在条件下,改变逻辑分组到匹配全部然后单击添加。配置选项:
- 条件输入 - >
{HTTPS} - 检查输入字符串 - >
Matches the Pattern - 模式 - >
OFF - 忽略案例:
enabled


现在继续行动部分并设置:
- 动作类型 - >
Redirect - 重定向URL->
https://{HTTP_HOST}{REQUEST_URI} - 重定向类型 - >
Permanent (301)


创建重定向规则后,您将需要使用以下命令重置IIS:
iisreset


打开浏览器,并尝试使用HTTP地址访问您的网站。您应该自动将其重定向到HTTPS URL。


您还可以手动启用HTTP-HTTPS重定向IIS规则web.config文件:
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="rewrite_rule_Redirect_HTTP_to_HTTPS" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<conditions>
<add input="{HTTPS}" pattern="OFF" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="false" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
IIS中的HTTP到HTTPS重定向规则将在Windows Server 2022、2019、2016和Windows 10/11的当前版本上使用。
