一、进入iis, 选中网站,选择 "URL重写"

二、右侧点击"添加规则"



在 IIS 中实现 HTTP 自动跳转 HTTPS,最推荐且灵活的方法是使用 URL 重写模块 (URL Rewrite Module)。以下是详细的配置步骤与备选方案。
方法一:使用 URL 重写模块(推荐)
此方法支持 301/302 跳转,且能保留原始路径和参数,适用于 IIS 7 及以上版本。
1. 安装 URL 重写模块
如果 IIS 功能视图中没有"URL 重写"图标,需先安装:
-
根据服务器系统位数(x86/x64)下载并安装
rewrite_*.msi。
2. 配置重写规则(图形界面)
-
打开 IIS 管理器,选中目标网站。
-
双击功能视图中的 URL 重写。
-
在右侧点击 添加规则 ,选择 空白规则。
-
按以下参数配置:
-
名称 :
HTTP to HTTPS Redirect(自定义) -
匹配 URL:
-
请求的 URL:
与模式匹配 -
使用:
正则表达式 -
模式:
(.*) -
忽略大小写:勾选
-
-
条件:
-
逻辑分组:
全部匹配 -
点击 添加:
-
条件输入:
{HTTPS} -
检查输入字符串是否:
与模式匹配 -
模式:
^OFF$ -
忽略大小写:勾选
-
-
-
操作:
-
操作类型:
重定向 -
重定向 URL:
https://{HTTP_HOST}/{R:1} -
附加查询字符串:勾选
-
重定向类型:
永久(301)(推荐 SEO)或已找到(302)(测试用)
-
-
-
点击 应用 保存。
3. 直接编辑 web.config(代码方式)
在网站根目录的 web.config文件 <system.webServer>节点下添加以下规则:
<rewrite>
<rules>
<rule name="Redirect HTTP to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
方法二:使用 IIS 自带的 HTTP 重定向(仅限 IIS 8.5+ 且全站跳转)
如果网站不需要同时保留 HTTP 访问,且服务器为 IIS 8.5 或更高版本,可以使用此方法:
-
选中网站,双击 HTTP 重定向。
-
勾选 将请求重定向到此目标 ,输入
https://你的域名。 -
勾选 将所有请求重定向到确切的目标。
-
状态代码选择 永久(301)。
-
点击 应用。
注意:此方法会将所有请求(包括 HTTP 和 HTTPS)都重定向到指定的 HTTPS 地址,如果网站有多个域名绑定,需谨慎使用。
常见问题排查
-
循环重定向 :检查 SSL 证书是否绑定正确,且 443 端口可访问。确保规则条件
{HTTPS}为OFF时才触发。 -
不生效 :检查是否安装了 URL 重写模块,或尝试在 IIS 中 重启网站。