本日志标题:windows服务器IIS下如何强制跳转到https        [2021-4-15]

https已经是大势所趋,尽可能把站点跳转至https,包括原先从百度收录搜索过来的http能自动跳转到https是绕不开的一个设置。

限于服务器是windows,web服务是iis时,就需要进行单独配置。

首先,IIS中站点的配置内是有URL重写的,通过这种配置也是可以操作,不过操作步骤比较多,还是找下最简单的办法。



要明白的是:在iis站点中配置url重写,其实就是在给根目录下的web.config文件进行自动化生成代码。

所以,要是直接修改web.config文件不就完全解决了吗。另外,也不是所有人都能远程到服务器并对iis进行操作的,但都是可以ftp到站点下载根目录下的web.config文件进行更新的。

web.config文件很好理解,涉及到重写的就是使用<rewrite>和</rewrite>包括进来的。

其中又分为两块:<rules>...</rules> 和 <outboundRules>...</outboundRules>,分别定义入站和出站的重写规则。



所以,我们在<rules>...</rules> 入站规则里面添加以下代码


<rule name="Redirect to 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无条件跳转到https的正则

在<outboundRules>...</outboundRules>出站规则里面添加以下代码


<rule name="Add Strict-Transport-Security when HTTPS" enabled="true">
<match serverVariable="RESPONSE_Strict_Transport_Security" pattern=".*" />
<conditions>
<add input="{HTTPS}" pattern="on" ignoreCase="true" />
</conditions>
<action type="Rewrite" value="max-age=31536000" />
</rule>



保存web.config文件并上传覆盖到站点根目录即可。
在百度搜索完整的windows服务器IIS下如何强制跳转到https内容,或者用Google搜索相关的更多内容

By [cnbruce] at 9:51:33 | 评论 [0] | 浏览 [255] | TrackBack| 返回顶部

About Comments
此篇日志暂时没有相关的说明和评论。:)


Post a Comment
呢称: 验证码: 
禁止笑脸转换 禁止UBB | 缩放输入框:6 5 | [Ctrl+Enter提交](1000个字符限制)