在 Windows 环境下如果采用 IIS 作为 网站服务器时,常规的网站绑定 HTTPS 需要一个一个站点手动选择对应的证书绑定,而且证书过期之后更换证书时也是需要一个个重新绑定操作,无法便捷的做到像 Nginx 或者 Apache 等程序一样,直接在配置文件中指定所需要使用的证书文件的路径,像 Nginx 或 Apache 如果证书到期之后只要把新的证书文件替换到原先存放证书的位置即可,确保配置文件中的证书路径没错即可。
其实在 IIS 上也可以实现同样类似的操作,需要用到 IIS集中式证书 功能,在服务器管理中添加角色和功能,从 Web服务(IIS)的安全性中勾选 集中式SSL 证书支持。
安装完成之后,在IIS管理中点击IIS主页,然后就可以看到 集中式证书
我这里配置证书的物理存放路径为 C:SoftwareIISSSL
用户名和密码直接输入服务器的账户信息即可。
证书私钥密码为:0123456789 (CertSvc 平台签发的默认 pfx 格式证书,密码都是0123456789)
这里基础设置维护好之后,我们先下载一份 pfx 格式的证书存放到该路径。
然后重新打开 IIS管理器 在集中式证书这个界面就可以看到刚刚存放的证书了。
新建站点时在配置 https 时勾选需要服务器名称指示和使用集中式证书存储就可以了。
这样配置完成之后就可以实现网站和证书文件的自动绑定了,后续证书过期之后就可以直接替换文件夹中的证书文件即可,不需要像以前一样证书过期之后需要一个个网站打开绑定配置去修改 https 证书了。
集中式证书功能启用之后还可以搭配 CertSvc https://certsvc.com 实现IIS自动证书续签维护,CertSvc 是一个免费的证书托管平台,整合 ZeroSSL 和 Let’s Encrypt 的ACME协议,支持自动签发通配符泛域名证书,并集成部署工具,部署一次即可免去定期维护证书的工作,支持 Linux 、Window 服务器。
至此 IIS 配置集中式证书模块实现网站自动绑定证书文件 就讲解完了,有任何不明白的,可以在文章下面评论或者私信我,欢迎大家积极的讨论交流,有兴趣的朋友可以关注我目前在维护的一个 .NET 基础框架项目,项目地址如下 https://github.com/berkerdong/NetEngine.git https://gitee.com/berkerdong/NetEngine.git