如何通过acme.sh申请Let’s Encrypt通配符证书?

投稿   懿古今  2018-03-19 07:39:15  256 人阅读  51 条评论

Let’s Encrypt 已经可以申请通配符证书了,在看了明月登楼博主的《Let's Encrypt 通配符证书申请办法,实测有效》这篇文章后,我立马就去折腾并把自己两个站点的证书改为通配符证书了。详细通过 acme.sh 申请 Let’s Encrypt 证书的请移步《Linux 下使用 acme.sh 申请和管理 Let’s Encrypt 证书》,我是已经有了 Let’s Encrypt 证书的情况下删除证书重新申请通配符证书的,不过方法都大同小异。在这次申请 Let’s Encrypt 通配符证书的时候也遇到一些问题,现在将申请的过程及问题解决办法记录下来分享给大家,以便大家参考。

如何通过acme.sh申请Let’s Encrypt通配符证书? 建站经验 第1张

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

1、升级 acme.sh

  1. acme.sh –upgrade

PS:我升级总是失败,但是升级失败的情况好像也能申请到通配符证书,如果到第 5 步失败的话,就是升级 acme.sh 失败导致,实在不行就放弃通配符证书,改回原来的域名证书。所以想要申请通配符证书需要慎重。

如何通过acme.sh申请Let’s Encrypt通配符证书? 建站经验 第2张

2、查看证书列表

  1. acme.sh --list

3、删除证书

  1. acme.sh remove Main_Domain(证书的主域名,上述证书列表中可看见)

4、获取 Aliyun 域名 API 的密钥,在阿里云官网登录的情况下点击https://ak-console.aliyun.com/#/accesskey即可看到自己的密钥,没有就直接创建一个即可。非阿里云的请移步《如何使用 DNS API》查阅相对应的 API 的办法。

5、获得密钥之后分别输入以下命令

  1. export Ali_Key="sdfsdfsdfljlbjkljlkjsdfoiwje"
  2. export Ali_Secret="jlsdflanljkljlfdsaklkjflsa"
  3. acme.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. --fullchain-file /etc/nginx/ssl/yigujin.cn.cer \
  4. --reloadcmd  "service nginx force-reload"
记得修改以上的域名为自己的域名,存放证书的路径也要自行修改哦。

申请 Let’s Encrypt通配符证书遇到一个问题

不知道是不是因为升级 acme.sh 失败的缘故还是什么问题,我申请得到的通配符证书复制到指定位置存放之后,.cer 文件只有域名的证书内容,而无 ca 证书的内容,所以就会出现两个问题:

1、在服务器显示:nginx:[warn] “ssl_stapling” ignored,issuer certificate not found 的警告信息。

如何通过acme.sh申请Let’s Encrypt通配符证书? 建站经验 第3张

2、在https://myssl.com/检测得到的等级从 A+变成了 B。

其实以上两个问题都是同一个原因导致的,就是我们通过以下命令:

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

所得到的 yigujin.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. --fullchain-file /etc/nginx/ssl /yigujin.cn.cer \
  4. --ca-file /etc/nginx/ssl/yigujin.cn.ca.cer \
  5. --reloadcmd  "service nginx force-reload"

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

  1. ssl_certificate /etc/nginx/ssl/yigujin.cn.cer;
  2. ssl_certificate_key  /etc/nginx/ssl/yigujin.cn.key;

在下方添加 CA 证书

  1. ssl_trusted_certificate /etc/nginx/ssl/yigujin.cn.ca.cer;

不想在配置文件中添加一天 CA 证书命令的户,好像是可以直接把 CA 证书的内容添加到 yigujin.cn.cer 证书的后面保存也能解决问题。

3、平滑重启 nginx 后,警告信息 nginx:[warn] “ssl_stapling” ignored,issuer certificate not found 已经消失不见了。

4、将 yigujin.cn.cer 和 yigujin.cn.ca.cer 的内容合二为一,其实就是以前的 cer 证书,我们需要将这些内容添加到相应的 CDN 证书中,要不然会说证书链不完整。360 网站卫士的就是把这两个内容合成一个 CRT 文件上传。

总结

我申请 Let’s Encrypt 通配符证书所遇到的问题不知道是个案还是什么,不过本文所列举的问题及解决办法都是真实发生的,目前我的懿古今和 boke112 导航已经使用上了 Let’s Encrypt 通配符证书,运行一切良好。如果你在申请 Let’s Encrypt 通配符证书也遇到相类似的问题,你可以试着按照我的办法去解决看看。申请 Let’s Encrypt 证书(非通配符证书)不会遇到证书链不完整的情况,也不需要人工合成证书。

历史上的今天:

文章标签: ,   ,   ,  
原文地址:https://www.yigujin.cn/1517.html
温馨提示:文章内容仅代表作者个人观点,不代表boke112导航赞同其观点和对其真实性负责!
版权声明:本文为投稿文章,感谢 懿古今 的投稿,版权归原作者所有,欢迎分享本文,转载请保留出处!
懿古今

相关文章 分类热门分类热评最新问答

 发表评论

中国赞表情摊手表情吃瓜表情笑哭表情偷笑表情衰表情汗表情思考表情费解表情抓狂表情晕表情流泪表情疑问表情嘻嘻表情吃惊表情鼓掌表情

  1. 米扑博客
    米扑博客 @回复

    太有用了 不得不赞 [太开心]

  2. 钟水洲博客
    钟水洲博客 @回复

    文章不错,点个赞

  3. 清风小墨
    清风小墨 @回复

    确实是不错的,我也在用

  4. 李峰博客
    李峰博客 @回复

    申请有点麻烦,还是等等吧!!!

  5. 小徐博客网
    小徐博客网 @回复

    记得之前可以野卡alpha通配符证书,现在不行了。哎,,

  6. 宋子宪博客
    宋子宪博客 @回复

    不错的文章 [赞]

  7. 笛声
    笛声 @回复

    很好奇你们用Let’s Encrypt 证书的是什么癖好,那些1年有效期的免费证书长得不好看?

    • 懿古今
      懿古今2018-03-20 10:53  回复

      @笛声[嘻嘻] 感觉其他证书能够多久还真不好说,而Let’s Encrypt 证书是永久免费,而且知名度很大,所以才选择Let’s Encrypt 证书

  8. 小白蜀黍网赚
    小白蜀黍网赚 @回复

    厉害了,技术帖

  9. 憧憬点滴记忆
    憧憬点滴记忆 @回复

    我现在用的是AlphaSSL的通配符SSL

  10. 励志语录
    励志语录 @回复

    厉害了 [赞]

  11. 菊
     @回复

    之前是用oneinstack一键生成的

  12. 狂放
    狂放 @回复

    抱紧AlphaSSL,一年通配。三个月我懒得换

  13. 优站云免费主机
    优站云免费主机 @回复

    宝塔有免费的证书 [嘻嘻]

  14. 大事记
    大事记 @回复

    教程很给力,目前是用不上。希望能帮到其它人。

  15. 龙笑天
    龙笑天 @回复

    666 都通配了~

  16. 品牌馆
    品牌馆 @回复

    最近一直忙,我也想抽空把这个搞搞

  17. 艾美乐
    艾美乐 @回复

    我准备搞一个这样的

  18. 陈鑫威博客
    陈鑫威博客 @回复

    腾讯云免费申请试用一年。

  19. 薅羊毛
    薅羊毛 @回复

    这个用CDN的话 还能自动更新证书么

  20. 夏日博客
    夏日博客 @回复

    一直在用let免费的SS证书,一键式安装。

  21. 姜哥说
    姜哥说 @回复

    这个有什么用?

  22. 倚竹聽雨
    倚竹聽雨 @回复

    emmmmm。。。现在用的腾讯云送的免费SSL。这个是每三个月就要续一次的吧?

  23. 90客栈
    90客栈 @回复

    小白看不懂

  24. 心动科技
    心动科技 @回复

    收下了,准备搞一个!

  25. 码农BTS
    码农BTS @回复

    我用的就是这个证书

  26. 笛声
    笛声 @回复

    看了yigujin的证书 不是通配符的啊?还有acme.sh升级失败的话,给vps弄个特殊通道就好了。

    • 懿古今
      懿古今2018-03-19 10:28  回复

      @笛声[嘻嘻] 懿古今和boke112导航都是通配符证书,你查看的方式不对

    • 狂放
      狂放2018-03-19 18:49  回复

      @笛声https www点sslforfree点com/ SSL for Free可以申请,填*.example点com example点com就可以申请

  27. 里维斯社
    里维斯社 @回复

    我一个证书还没绑定 [哈哈]

  28. 靠谱学生兼职网
    靠谱学生兼职网 @回复

    免费证书?好像这个只能三个月?,三个月又得重新申请?还有作了301重定向好像申请不下来的

  29. 明月登楼
    明月登楼 @回复

    感觉acme.sh这两天很不稳定,特别是阿里云ECS上访问 GitHub 非常的吃力,不少上面的链接请求都很慢!

  30. 烤德香
    烤德香 @回复

    [黑线] 服务器不能同时绑定几个SSL证书。就彻底放弃 [偷笑]