收到Let's Encrypt邮件通知需将SSL证书升级到ACMEv2协议

最近收到Let's Encrypt的邮件,提醒我博客使用的SSL/TLS证书需要升级到ACMEv2协议,旧协议也就是ACMEv1 API将被逐步淘汰。本来打算趁最近有空就赶紧把这事搞定,但是后来发现事情并没有那么简单,脑子一热自己挖了个坑跳了进去。

先贴个邮件截图,我总结了下关键信息:从2020年6月1日开始,旧的ACMEv1协议就不允许新域名使用了,应当使用新版的v2协议。从表面情况来看这事情对于大部人来说是很简单的,只要升级原本使用的ACME客户端就可以了。

提醒升级到ACMEv2协议邮件

再贴个官方中文文档对ACMEv1 和 ACMEv2 协议的说明:

官网升级到ACMEv2协议说明

升级协议还是有很多有优点的,例如ACMEv2DNS-01验证方式支持通配符域名,这是十分重要的功能。对比ACMEv1协议,由于不支持通配符域名,面对多个二级域名的情况下都需要全部再验证一次。


本来事情到这里应该就结束了,按理来说升级是件很简单的事情,我以前一直使用的ACME客户端是win-acme,正常情况下按照邮件说的下载最新的ACME客户端后,重新再走一边流程就完工。但现实是始终都下载失败,进度条总是卡住,仔细看了下发现下载地址用的是亚马逊Amazon S3 云存储-.-。

win-acme客户端下载速度慢

遇到我这种情况,解决方法很多,从效率上考虑,推荐以下几种:

  1. 修改下hosts文件或者使用一些网络加速器
  2. 也可以从GitHub直接下载win-acme的源码,然后自己重新编译再使用。
  3. 当然更换ACME客户端也是一种选择,Let's Encrypt官网有很多不错的ACME客户端。

总之尝试多次无法下载后,我并没有选择上面三种方法,而是突然想起了一个搁置/拖延很久的造轮子计划,就是自己开发ACME客户端。很久以前我就使用Topshelf搭配Quartz.Net作业调度框架开发了一个Windows服务,这么多年一直稳定的在服务器上奔跑,帮我进行自动化运维操作(每天执行定时任务,例如发送日志邮件,自动备份数据,统计数据等操作),现在终于也要把SSL证书更新这项功能添加到自动运维项目里。

最终折腾/拖拉了好多天才搞定这个问题,不过也算是完成多年前定下的一个小计划,挺有收获的。后续会写下开发SSL证书自动更新功能的文章,代码也会一并分享。

真正的程序员




原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/99062.html

(0)
上一篇 2021年8月21日
下一篇 2021年8月21日

相关推荐

发表回复

登录后才能评论