我在AWS EC2服务器上有一个nodejs/express API,它带有一个ssl证书,该证书是用Let's encrypt每3个月生成的。自动续订未打开,我们在尝试续订之前让它显示,但在续订后,我们收到一个错误:
无法验证第一个证书
或
无法验证叶签名
这取决于我们测试的是什么。
我们使用Certbot
通过以下命令进行更新(而不是$ certbot renew
):
$ sudo certbot certonly --dns-route53 -d *.example.com -d example.com --server https://acme-v02.api.letsencrypt.org/directory
证书按预期生成,到期日期为3个月后。
知道发生了什么吗我已经尝试了我在SO和其他地方能找到的大多数东西,但都不起作用。
P.S.服务器和我沿着得不太好:/(我做移动的应用程序开发)所以假设我在回复时什么都不知道:D
2条答案
按热度按时间cnh2zyt31#
解决方案非常简单,只需要使用
fullchain.pem
文件(如果适用,请重新启动服务器)。旁注:
如果你的团队中有人告诉你,他们已经测试了一个解决方案,但它不起作用,不要盲目地相信他们,而是在所有其他可能的解决方案都不起作用的情况下自己测试它......(因为有人认为他们用fullchain.pem进行了测试(或者做错了)而损失了1天以上的时间)
62lalag42#
我在构建前端应用程序(Vitesse)和在Insomnia中测试API时遇到了同样的错误。**我通过将intermedium.ctr证书添加到后端(Node.js)服务器来修复它。**服务器位于数字海洋水滴中
(If你没有证书,你可以看这个视频:NodeJS + Express SSL Install and Configuration)
这是我在后端(Node.js)中的工作代码: