IIS中实现HTTPS的自动跳转

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

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

IIS中实现HTTPS的自动跳转

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

IIS中实现HTTPS的自动跳转

接着打开站点,在右侧选择绑定,在弹出的界面添加上https的绑定,记得不要忘记填写主机名。点击确定之后,带不带HTTPS都可以访问了。

IIS中实现HTTPS的自动跳转

但是抱着“既然有了https,为什么还要用户访问http的安(zhuang)全(bi)意(xin)识(tai)”,于是就想着有没有办法实现https自动跳转呢?首先的想法就是URL重写

IIS是带有URL重写功能组件的,但是并没有集成到IIS中去,要自行下载安装。在这里提供一个官方的下载链接: https://www.microsoft.com/zh-cn/download/details.aspx?id=7435

点击下载后安装很简单,在此略过,CMD执行iisreset重启IIS服务。

IIS中实现HTTPS的自动跳转

URL重写就出现在管理面板了,这里需要注意

是网站的管理面板,不是IIS的管理面板!

是网站的管理面板,不是IIS的管理面板!

是网站的管理面板,不是IIS的管理面板!

重说三,某人就因为在错误的地方进行操作吐槽了半天发现是自己错了。

URL重写有自己的规则,大家参照一下我的实例,具体可以参考IIS的官方使用说明书

https://www.iis.net/learn/extensions/url-rewrite-module/url-rewrite-module-20-configuration-reference

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

IIS中实现HTTPS的自动跳转

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

IIS中实现HTTPS的自动跳转

Step3:添加条件,先添加一个HTTP_HOST的不匹配条件

注意:是与模式不匹配,模式为: ^(localhost)

IIS中实现HTTPS的自动跳转

Step4:添加一个HTTPS的匹配条件

注意:是与模式匹配,模式为: ^OFF$

IIS中实现HTTPS的自动跳转

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

IIS中实现HTTPS的自动跳转

Step6:右侧应用,然后重启站点。完成

IIS中实现HTTPS的自动跳转

通过浏览器的监听,我们能发现,请求的http被重写返回了一个https。通过URL重写让IIS实现HTTPS的自动跳转就实现了。实际上上面的文件是改变了web.config的配置文件内容从而实现了自动跳转。

原文地址:http://blog.sina.com.cn/s/blog_c2de5fab0102ym3h.html