楠槡

IIS中实现HTTPS的自动跳转

2016-11-16

还是上次使用的Derwer.com,因为腾讯云提供了一年免费的TrustAsia DV SSL证书,由赛门铁克(Symantec)顶级根证书签发,亚洲诚信(TrustAsia)提供技术支持,据说价值1900/年。不过谁知道呢,先用着再说。


配置证书

配置IIS中的域名证书很简单,在这里也简要提一下。
服务器证书

导入证书

先是选着IIS服务,注意是IIS服务,不是站点,然后在右侧的安全性中选择服务器证书,点击导入,将提供的域名证书选中,若申请时填写了密码,这里也要加上,然后点击确定就OK了!
导入证书

https绑定

接着打开站点,在右侧选择绑定,在弹出的界面添加上https的绑定,记得不要忘记填写主机名。点击确定之后,带不带HTTPS都可以访问了。
https绑定
但是抱着“既然有了https,为什么还要用户访问http的安(zhuang)全(bi)意(xin)识(tai)”,于是就想着有没有办法实现https自动跳转呢?首先的想法就是URL重写。


URL重写

下载URL重写组件

IIS是带有URL重写功能组件的,但是并没有集成到IIS中去,要自行下载安装。在这里提供一个官方的下载链接

点击下载后安装很简单,在此略过,CMD执行iisreset重启IIS服务。
URL重写
URL重写就出现在管理面板了,这里需要注意:
是网站的管理面板,不是IIS的管理面板!
是网站的管理面板,不是IIS的管理面板!
是网站的管理面板,不是IIS的管理面板!
重说三,某人就因为在错误的地方进行操作吐槽了半天发现是自己错了。
URL重写有自己的规则,大家参照一下我的实例,具体可以参考IIS的官方使用说明书

添加规则

双击URL重写, 在右侧点击添加规则,选择空白规则确定
添加规则

编辑规则

设置规则名称,设置匹配URL,注意模式输入:(.*)
编辑规则

添加不匹配条件

先添加一个HTTP_HOST的不匹配条件
注意:是与模式不匹配,模式为:^(localhost)
添加条件

添加一个匹配条件

注意:是与模式匹配,模式为:^OFF$
添加条件

配置重写操作

最后配置重写操作,按照图上实例选择填写。
操作

应用 重启

右侧应用,然后重启站点。完成!
头信息
通过浏览器的监听,我们能发现,请求的http被重写返回了一个https。通过URL重写让IIS实现HTTPS的自动跳转就实现了。实际上上面的文件是改变了web.config的配置文件内容从而实现了自动跳转。

Tags: dotNET
使用支付宝打赏
使用微信打赏

若你觉得我的文章对您有帮助,点击上方按钮请我喝杯咖啡☕

若文章中存在问题,或您有任何意见和疑问,均可与我联系

扫描二维码,分享此文章 📱