跳到正文
返回

[2019.06.10] Certbot 通过DNS记录获取证书

封面配图PID 73415224




》高考考完啦!撒花《

[Let's Encrypt]乃当下一良心证书颁发机构,其提供的免费证书几乎可以永久续期,直到本体倒闭,我™ 吹 爆 !

通常,我们使用certbot程序获取证书。certbot将调用letsencrypt的服务器访问你的网站(通常是80端口)验证域名是否属于我们。但有时候,运行的网页服务器可能是NAT VPS,或者你需要在某台内网的主机上撸一张证书另作他用,这时候letsencrypt会甩出不能访问服务器(Connection refused/timeout)的信息,然后退出。

当然[Let's Encrypt]也考虑到了这种情况,于是呢,cerbot提供了一个可用的参数→ --preferred-challenges dns

打开终端,输入命令:sudo certbot --manual --preferred-challenges dns certonly 回车

Capture.PNG

输入域名并回车后,会有是否允许记录IP的提示

Capture2.PNG

敲Y,允许记录。这时候certbot会给出要求添加的DNS记录。如下图↓

4209607946.png

进入你的域名解析控制面板,并添加相应的TXT记录(这里以Cloudflare为例)

Capture.PNG

添加后可以使用nslookup测试添加的记录是否生效↓

nslookup -q=TXT _acme-challenge.二级域名 1.1.1.1

Capture.PNG

↑像这样子就是可以了的意思
我们回到certbot中,按回车继续~
不出意外的话就成功了。证书会放置在/etc/letsencrypt/archive/域名中

**注意!certbot给出的路径中存放的是连接(Linux symbolic),不能直接复制的!
真正的证书在/etc/letsencrypt/archive/域名中**

Capture.PNG

你可以把证书和key一起COPY出来,放到想用的地方,接上需要使用的程序。

PS:三个月后如果需要续签,可以直接运行certbot renew。要注意的是,DNS记录需要一直保持,否则证书是无法更新的。

评论

1

邮箱只用来显示头像,不会被公开