一、步骤
1. 申请证书
我们使用的阿里云服务器,证书也是在阿里云上申请的

证书申请通过后,直接下载证书,放在IIS所属服务器上。我将证书放在应用程序的主目录下的。
2. 导入证书
导入证书。win+R 运行,输入mmc。





然后按照提示导入PFX文件。过程中需要输入密码,该密码和证书在同一个目录下
3. 配置HTTPS
选择网站---> 右键单击---> 绑定--- > 添加

单击"添加"后,就会出现如下界面,然后一个一个填写即可。
重启IIS 后,便可以HTTPS 协议访问网站了。

4. HTTP 自动跳转至 HTTPS
我们习惯使用HTTP来访问网站,但是需要“强制让用户”以HTTPS 来访问,因此,需要做一定设置才行。我是通过修改403.htm文件来实现的。
- 403.htm 路径
C:\inetpub\custerr\zh-CN\403.htm
- 将403.htm文件内容替换成如下内容
备注:首先需要备份下403.htm,再进行替换。
<HTML><HEAD><TITLE>该页必须通过安全通道查看</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=GB2312">
</HEAD><BODY>
<script type="text/javascript">
var url = window.location.href;
if (url.indexOf("https") < 0) {
url = url.replace("http:", "https:");
window.location.replace(url);
}
</script>
</BODY></HTML>
- 修改ssl设置

要求SSL

注意: 这种修改403 页面可能会有两个潜在的问题。
-
如果IIS 服务器中的某个网站(一个IIS 服务器可以有多个网站)出现权限问题时,也会出现403错误。但是我们的内容已经修改了,这种情况会导致返回的页面内容发生改变,不会明确提示这是403错误了。
-
除了需要HTTPS的网站,其他网站的SSL设置应该都设置为“不启用SSL”, 否则访问HTTP时,会将所有页面都跳转至 HTTPS。
网友评论