前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux 下 acme.sh 申请 Let’s Encrypt 证书失败常见原因分析

Linux 下 acme.sh 申请 Let’s Encrypt 证书失败常见原因分析

作者头像
明月登楼的博客
发布2019-05-15 16:02:50
7.2K0
发布2019-05-15 16:02:50
举报

明月发现最近在著名生产环境军哥 LNMP 一键安装包的论坛上看到很多站长们都在反映 LNMP 下使用 acme.sh 申请 Let's Encrypt 证书失败的提问帖子,自从 LNMP1.5 测试版发布后将 1.4 的 certbot 申请 Let's Encrypt 证书更换为 acme.sh 后,这类问题才突然增多了起来。certbot 是早期 Let's Encrypt 官方推荐的在服务器上在线申请管理 Let's Encrypt 证书方式,随着 GitHub 上的 acme.sh 脚本越来越完善,越来越多的受到了使用者们的追捧,因为 acme.sh 将在线申请管理维护绿色证书变的异常的简单高效了,最重要的是 acme.sh 脚本几乎不依赖服务器系统环境,完全独立运行,这点儿相对于 certbot 是最大的进步和变化了。

明月也一直非常喜欢使用 acme.sh 来申请管理 Let's Encrypt 证书,虽然 Let's Encrypt 仅有 90 天的有效期,但是借助 acme.sh 和 Linux 下的定时任务 crontab 基本上就是部署一次终身自动续期了。至于 acme.sh 的具体使用方法请参考【Linux 下使用 acme.sh 申请和管理 Let’s Encrypt 证书】一文即可,今天明月要给大家讲的是在使用 acme.sh 过程中比较常见的出错原因和解决方法,以便可以帮助到大家。

首先,明月早期都是自己安装 acme.sh 到 LNMP 环境里使用的,随着 LNMP 1.5 测试版发布上线,明月第一次使用 LNMP 里集成的 acme.sh 的时候也是出错,每次申请的时候都是提示“invalid domain”错误,可以说是百思不得其解,后来还是在军哥的提醒下想起来问题可能是出在 acme.sh 的 DNS 方式上,特别是使用了不同的云主机通过一个 DNS 解析 API 接口申请证书就会出现这个问题,问题的原因就是没有将云主机的 IP 地址加入到 DNS 解析 API 的白名单里,以明月使用的 CloudXNS 为例,设置 API 的 IP 白名单如下截图:

如果是多个云主机使用的是同一个 DNS 解析服务的话,就需要将多个云主机的公网 IP 加入到 DNS API 的白名单里,否则使用 acme.sh 的 DNS 方式申请就会出现“invalid domain”的提示。当然不同的 DNS 解析服务设定这个 IP 白名单的地方肯定也不一样的,大家可以参考 DNS 服务商的官方文档来了解具体的方法。

明月发现上述这个问题是个不小的“坑”,很多站长们都是栽倒在这个“坑”里了。

其它的常见问题一般也就是 acme.sh 脚本的升级和更新了,有时候某个版本会因为服务器网络环境造成一些请求失败,所以保证当前使用的 acme.sh 脚本是最新版的尤为重要,至于如何更新 acme.sh 脚本?大家自行百度、谷歌吧。

基本上上述两个常见问题解决掉也就可以顺利的申请获取到 Let's Encrypt 的 SSL 证书了,如果是比较另类的云主机或者云主机操作系统,建议大家到 acme.sh 脚本的 GitHub 上多看看,或者也可以到 LNMP 的官方论坛上传详细日志发帖求助。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-05-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 草根博客站长有话说 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档