Code前端首页关于Code前端联系我们

通过 acme.sh 申请 Let's Encrypt 通配符证书的步骤和问题

terry 2年前 (2023-09-28) 阅读数 55 #未命名

我在申请 Let's Encrypt 通配符证书时也遇到了一些问题。现在我将申请过程和问题解决方法记录下来分享给大家,供大家参考。

通过acme.sh申请Let’s Encrypt通配符证书步骤与问题

申请Let's Encrypt通配符证书步骤

1.升级acme.sh

  1. acme.sh –upgrade

PS:我的升级总是失败,不过好像升级失败也可以申请。如果第5步通配符证书失败,是因为acme.sh没有升级。如果还不行,就放弃通配符证书,改回原来的域名证书。因此,申请通配符证书时一定要小心。

通过acme.sh申请Let’s Encrypt通配符证书步骤与问题

2。请参阅证书列表

  1. acme.sh --list

3。删除证书

  1. 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.获取通配符证书后,将证书复制到其他位置备用

  1. acme.sh --installcert -d yigujin.cn -d *.yigujin.cn \
  2. --key-file /etc/nginx/ ssl/yigujin.cn.key \
  3. --全链文件 /etc/nginx/ssl/yigujin.key cn.cer \
  4. --reloadcmd "service nginx force-reload"
记得把上面的域名改成自己的域名,自己修改存放证书的路径。

申请Let's Encrypt时遇到问题通配符证书

不知道是因为升级acme.sh失败还是其他问题。我将通配符证书复制到指定位置并保存后,就得到了.cer文件。域名中只有证书内容,没有CA证书的内容,这样就会出现两个问题:

1。服务器显示:nginx:[警告]“ssl_stapling”被忽略,未找到颁发者证书警告消息。

通过acme.sh申请Let’s Encrypt通配符证书步骤与问题

2。 https://myssl.com/ 上查到的等级已经从 A+ 变成了 B。

其实上面两个问题都是同一个原因造成的,就是我们通过以下命令得到的易股金:

  1. - -fullchain-file /etc/nginx/ssl/yigujin.cn.cer \

.cn.cer证书中根本没有CA证书,用同样的方法申请非通配符证书时,cer - 文件包含 CA 证书。目前尚不清楚造成这种情况的原因。

既然我们知道了原因,那么解决办法有两个。一是放弃通配符证书,二是手动添加CA证书。这里重点介绍如何手动添加CA证书。

1。将CA证书复制到位置

  1. acme.sh --installcert -d yigujin.cn -d *.yigujin.cn \
  2. --key-file /etc/nginx/ssl /yigujin.cn .key \
  3. --全链文件 /etc/nginx/ssl /yigujin.cn.cer \
  4. --ca-file /etc/nginx/ssl/yigujin.cn.ca.cer \
  5. -- reloadcm“服务nginx强制重新加载”

2.在服务器配置文件中找到以下代码:

  1. ssl_certificate /etc/nginx/ssl/yigujin.cn.cer;
  2. ssl_certificate_key /etc/nginx/ssl/yigujin.cn。下面的证书
    1. 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前端网发表,如需转载,请注明页面地址。

热门