type
status
date
slug
summary
tags
category
icon
password
我以前写过《DTcms4/5中使用HttpModule将http访问301重定向到https》,也写过《使用Certify来自动申请并配置Let’s Encrypt免费SSL证书到IIS8》都提到了如何将IIS的http访问强制为https,如果你现在搜索.net强制https访问,或者iis强制https等关键词,会看到很多错误的指导。
常见问题1:要求SSL
比方说开启“ 要求SSL ”,然后用 403 的html(在 C:\inetpub\custerr\目录下,注意语言版本)重定向js代码,这个千万别用了。
常见问题2:图形化设置IIS的URL重写工具
还有些介绍安装微软IIS的URL重写工具的,讲了半天一堆截图,操作下来因为版本不一样,还不一定成功,你直接按照我的方法,使用Web Platform Installer安装2.0版本:如下图。
然后也不要去IIS的管理器一个个站点去设置了,只需要在Web.config里面的
<system.webServer>
节点内增加如下代码即可:如果需要开启HSTS请用以下代码,首次访问不用https,但之后都会强制使用了,所以建议开启!
常见问题3:WebApi还在用自己写的filter重定向
这个方法未必不可以,但我不认为最优。我也在用,以下代码的BaseSystemInfo.ForceHttps是我的一个系统参数,可以自行切换,如果没有安装URL重写工具,本地测试可以http。
但有了URL重定向,这个重定向代码就不会执行了。
好了,看完这篇文字,你不要再去搜索查找可行的IIS强制https的ssl证书访问了。