通过 acme.sh 申请 Let's Encrypt 通配符证书的步骤和问题
我在申请 Let's Encrypt 通配符证书时也遇到了一些问题。现在我将申请过程和问题解决方法记录下来分享给大家,供大家参考。
![]()
申请Let's Encrypt通配符证书步骤
1.升级acme.sh
- acme.sh –upgrade
PS:我的升级总是失败,不过好像升级失败也可以申请。如果第5步通配符证书失败,是因为acme.sh没有升级。如果还不行,就放弃通配符证书,改回原来的域名证书。因此,申请通配符证书时一定要小心。
![]()
2。请参阅证书列表
- acme.sh --list
3。删除证书
- acme.sh 删除Main_Domain(证书主域名,在上面的证书列表中可见)
4.获取阿里云域名API key。登录阿里云官网后,点击https://ak-console.aliyun.com/#/accesskey即可看到自己的密钥。如果您没有,只需创建一个。如果您不是阿里云,请前往《如何使用 DNS API》查看对应的API方法。? sh --issue --dns dns_ali -d yigujin.cn - d *.yigujin.cn –force记得把上面的域名改成你自己的域名
6.获取通配符证书后,将证书复制到其他位置备用
- acme.sh --installcert -d yigujin.cn -d *.yigujin.cn \
- --key-file /etc/nginx/ ssl/yigujin.cn.key \
- --全链文件 /etc/nginx/ssl/yigujin.key cn.cer \
- --reloadcmd "service nginx force-reload"
申请Let's Encrypt时遇到问题通配符证书
不知道是因为升级acme.sh失败还是其他问题。我将通配符证书复制到指定位置并保存后,就得到了.cer文件。域名中只有证书内容,没有CA证书的内容,这样就会出现两个问题:
1。服务器显示:nginx:[警告]“ssl_stapling”被忽略,未找到颁发者证书警告消息。
![]()
2。 https://myssl.com/ 上查到的等级已经从 A+ 变成了 B。
其实上面两个问题都是同一个原因造成的,就是我们通过以下命令得到的易股金:
- - -fullchain-file /etc/nginx/ssl/yigujin.cn.cer \
.cn.cer证书中根本没有CA证书,用同样的方法申请非通配符证书时,cer - 文件包含 CA 证书。目前尚不清楚造成这种情况的原因。
既然我们知道了原因,那么解决办法有两个。一是放弃通配符证书,二是手动添加CA证书。这里重点介绍如何手动添加CA证书。
1。将CA证书复制到位置
- acme.sh --installcert -d yigujin.cn -d *.yigujin.cn \
- --key-file /etc/nginx/ssl /yigujin.cn .key \
- --全链文件 /etc/nginx/ssl /yigujin.cn.cer \
- --ca-file /etc/nginx/ssl/yigujin.cn.ca.cer \
- -- reloadcm“服务nginx强制重新加载”
2.在服务器配置文件中找到以下代码:
- ssl_certificate /etc/nginx/ssl/yigujin.cn.cer;
- ssl_certificate_key /etc/nginx/ssl/yigujin.cn。下面的证书
- ssl_trusted_certificate /etc/nginx/ssl/yigujin.cn.ca.cer;
不想在配置文件中添加CA证书命令的用户,似乎可以直接添加内容将CA证书放在yigujin.cn.cer证书后面并保存即可解决问题。
3。顺利重启nginx后,警告消息nginx: [warning] "ssl_stapling"ignored, Issuer certificate not find消失了。
4。将yigujin.cn.cer和yigujin.cn.ca.cer的内容合二为一,其实就是以前的cer证书。我们需要将此内容添加到对应的CDN证书中,否则会说Certificate chain is incomplete。 360 Website Defender 将这两个内容合并到一个 CRT 文件中并上传。
概述
不知道我在申请Let's Encrypt通配符证书时遇到的问题是个别情况还是其他原因。然而,本文列出的问题和解决方案确实出现了。目前我已经在易股金和博客112导航上使用过它们。获得了 Let's Encrypt 通配符证书,一切正常。如果您在申请Let's Encrypt通配符证书时遇到类似问题,可以尝试按照我的方法解决。申请Let's Encrypt证书(非通配符证书)不会遇到证书链不完整的情况,也不需要人工合成证书。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网