使用 certbot 一键申请泛域名解析证书 - sbw Blog

使用 certbot 一键申请泛域名解析证书

来源: 石博文博客 | 浏览: 4228 | 评论: 0 发表时间: 2019-03-25

Let's Encrypt 现在已经支持免费的泛域名证书了。之前为 u.sbw.so 及 blog.sbw.so 等申请了好几个证书,由于申请时间不同,所以续期的时间也不同步,这样管理起来比较费事,所以最近索性全部换成了同一个泛解析的证书。过程中发现 Let's Encrypt 的文档还是介绍的不够清楚,操作起来比较费事,尤其是 DNS 验证这里,只是在 Certbot 这个软件中有一些提示,具体的用法在官网上也没有例子,查了好多文档摸索了半天终于弄好了,在此分享一下。



环境:在 Ubuntu、CentOS、Archlinux 中测试过,申请证书与系统环境无关,应该只要 certbot 能跑起来就可以。


准备工作

下载 certbot,这个很多发行版的源中都已经自带了。

需要有域名的管理权限,因为申请泛解析证书需要使用 DNS 验证,这就需要你能够根据要求操作 DNS 解析记录,以此证明你对域名的权限。


使用 certbot 申请泛解析证书

执行如下的命令:

这条命令申请了 sbw.so 及 *.sbw.so 这两个域名,并且手动指定了认证方式为 dns 认证。这个是非常重要的,如果不手动指定为 DNS 认证,certbot 会报如下的错,告诉你需要使用 DNS 认证插件。

Client with the currently selected authenticator does not support any combination of challenges that will satisfy the CA. You may need to use an authenticator plugin that can do challenges over DNS.


接下来,就会要求你同意一些协议,输入一个邮箱(用来提醒你证书过期),然后会开始进行 DNS 认证,要求你添加一条 TXT 记录:


Please deploy a DNS TXT record under the name _acme-challenge.sbw.so with the following value: mrFoW9h-LcUIoxxxxxxxxxxxxxxxxxxxxxxx1M Before continuing, verify the record is deployed.


这个是为了证明你对域名有控制权限的,在你的域名管理商那里添加域名解析后,先手动在其它终端执行dig _acme-challenge.sbw.so TXT确保DNS记录已经生效,再按 Enter 继续。


之后会进行认证,认证通过后会再次弹出一个类似的认证,要求你再添加一条 TXT 记录:


Please deploy a DNS TXT record under the name _acme-challenge.sbw.so with the following value: 1GsYM3WRFjxmPCcFc9TXXXXXXXXXXXXXXRoj6mCk Before continuing, verify the record is deployed. (This must be set up in addition to the previous challenges; do not remove, replace, or undo the previous challenge tasks yet. Note that you might be asked to create multiple distinct TXT records with the same name. This is permitted by DNS standards.)


这里一定要注意,是添加一条新的名字相同、值不相同的 TXT 记录。不能把之前的那条记录删掉,也不能在原来的记录上修改。添加完成后,依然先手动在终端执行 dig 查询一下,如果没有问题,此时应该有两条记录:


确定没问题后再次按 Enter 提交,经过验证后,证书就签发完成了!终端会输出证书存放的路径、过期时间等信息。




没有人评论过此文,还不快抢个沙发
  • 昵称: *
  • 邮箱:
  • 网址:
  • 记住我的信息
  • Color
  • Red
  • Blue
  • Code
  • bash
  • cpp
  • css
  • java
  • js
  • perl
  • php
  • python
  • ruby
  • sql
  • xml