9月30号,著名的免费HTTPS证书供应商更新了他们的根证书。

从老的方式:

更新到了:

根据官方的文档:https://letsencrypt.org/docs/certificate-compatibility/

Android>7 iOS>10 ubuntu>16的系统应该不会收到影响

然而,悲剧的是,AWS的Lambda的runtime,似乎使用的是很老的证书系统,从.Net Core写的Lambda访问Let's Encrypt搭建的网站的话,会出现SSL的链接错误。

由于无法更改Lambda的runtime,研究下来似乎只有重新签名才能解决问题。

简单步骤如下:(ubuntu+nginx+certbot)

1.首先更新certbot到>1.6

sudo snap install --classic certbot

certbot --version

2.1和2.2选一个做

2.1 (推荐)更新位于/etc/letsencrypt/renewal/下的网站配置文件

添加preferred_chain = ISRG Root X1来指定chain

然后运行命令强制重新签名

sudo certbot renew --force-renewal

2.2 (不推荐)不更新配置文件,强行更新

sudo certbot renew --force-renewal --preferred-chain 'ISRG Root X1'

更新完毕后,从AWS的Lambda就可以访问你的Let's Encrypt网站,HTTPS,而不出现SSL错误了。