IIS 8.5 如何全局强制所有站点使用HTTPS 无需为各站点单独配置重写规则
IIS 8.5 全局强制所有站点使用HTTPS配置方案
存在可全局生效的配置方案,无需为每个站点单独设置重写规则,操作步骤如下:
配置前需确保服务器已安装URL重写模块,且所有站点均已绑定HTTPS证书及443端口
图形化界面配置步骤
- 打开IIS管理器,点击左侧树状菜单的根节点(即你的服务器名称节点),在功能视图中找到「URL重写」选项并双击打开
- 点击右侧操作栏的「添加规则」,选择「空白规则」后点击确定
- 按以下参数配置规则:
- 名称:自定义填写即可,示例为
全局强制HTTPS跳转 - 匹配URL区域:请求的URL选择「与模式匹配」,使用「正则表达式」匹配,模式栏填写
^(.*)$ - 条件区域:点击「添加」按钮,条件输入框填写
{HTTPS},检查输入字符串选择「与模式匹配」,模式栏填写^OFF$ - 操作区域:操作类型选择「重定向」,重定向URL填写
https://{HTTP_HOST}/{R:1},重定向类型选择「永久(301)」
- 名称:自定义填写即可,示例为
- 点击右侧操作栏的「应用」按钮保存规则,配置即时生效,所有现有站点及后续新增的站点都会默认继承该规则
直接修改配置文件步骤
如果偏好直接修改配置,可编辑C:\Windows\System32\inetsrv\config\applicationHost.config文件,在<system.webServer><rewrite><rules>节点下添加如下配置:
<rule name="全局强制HTTPS跳转" enabled="true" stopProcessing="true"> <match url="^(.*)$" /> <conditions> <add input="{HTTPS}" pattern="^OFF$" /> </conditions> <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" /> </rule>
如果后续有个别站点不需要遵循该强制跳转规则,只需进入对应站点的URL重写设置,删除继承的该全局规则即可。
内容的提问来源于stack exchange,提问作者David Coxsey
相关产品推荐
相关产品推荐

