教你如何在IIS7 IIS8 下的http自动跳转到HTTPS(80端口跳转443端口)
IIS7需要先确认是否安装 “URL REWRITE2 ” 伪静态模块 , 如果您已经安装可以跳过
URL REWIRTE (伪静态模块)
下载地址 : http://www.iis.net/downloads/microsoft/url-rewrite
第一步: 选择站点, “URL 重写”,如果安装的是英文版的 应该是【Url rewrite】
第二步: 添加 “ 空白规则”
第三步:添加规则
名称 : HTTPS
匹配URL 模式: (.*)
添加条件: 条件: {HTTPS}
模式: off
操作类型选择:重定向
重定向URL: https://{HTTP_HOST}/{R:1}
然后保存即可
最后效果图
条件中的逻辑分组处理
首先参考上图中的逻辑分组信息。
输入 | 类型 | 模式 | 是否忽略大小写 | 备注 |
---|---|---|---|---|
{HTTPS} | 与模式匹配 | ^OFF$ | YES | 此项用来匹配你的请求是HTTPS还是HTTP |
{HTTPS_HOST} | 与模式不匹配 | ^(localhost) | YES | 如果你是本地的localhost不会重定向到SSL |
高级版(直接把伪静态添加到web.config)
<?@xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="HTTP to HTTPS redirect" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTPS}" pattern="off" ignoreCase="true" /> </conditions> <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" /> </rule> </rules> </rewrite> </system.webServer> </configuration>