Lets Encrypt 弃用 tls-sni-01后 使用 Dnspod api 方式进行ssl泛域名续签

DNSPod API 200 18/05/2019

使用 Dnspod api 方式进行 ssl 泛域名续签

今年3月份的时候,Let’s Encrypt 给我的邮箱发了好几封邮件,具体内容大概是 Let’s Encrypt因为安全性问题已经将TLS-SNI-01验证方法标记为过时,而且很快就不能使用了, 建议还在使用的尽快安装他们官网去更新续签。看了个半懂,不过那时证书还有两月到期就没去管它...

这里踩过的坑以后再说,先说使用 dnspod.cn 的 api 进行泛域名续签吧!

DNSPod API id+token

由于我使用的是腾讯云的 DNSPod 解析API,其他解析(比如阿里云),你可以在 acme.sh/wiki/dnsapi 查看适合你的方法。


三个步骤:

首先,我们对 ACME 的依赖 socat 及 yum 进行一个更新处理:

                            
                                yum update -y &&  yum -y install curl cron socat
                            
                        

其次,安装 acme.sh:

                            
                                curl https://get.acme.sh | sh
                            
                        

然后,获取DNS API,

前面提到了我使用的是 DNSPod 进行解析,所以我需要使用 DNSPod 提供的API,在 DNSPod.cn 创建API Token,获取其ID及口令(token),稍后会用到。

接着逐条输入以下指令(其api及key对应你刚创建的api和token值)

                            
                                export DP_Id="Example API"
                                export DP_Key="Example TOKEN"
                            
                        

最后,使用 acme.sh 指令签订域名证书(注意这里的命令是 DNSPod 的签发命令,不同解析指令各不相同):

                            
                                acme.sh --issue --dns dns_dp -d example.com -d www.example.com
                            
                        

5/29更新,dns_ali

阿里云 DNS 使用的是自家dns解析,以下是获取使用 AccessKey 方法

前两个步骤和 三个步骤 的操作是一样的(安装依赖与acme.sh),以下 粗体 红字 是不同的地方:

                            
                                export Ali_Key="ExAmPlEkEy"
                                export Ali_Secret="ExAmPlEsEcReTkEyABCDEFG"
                            
                        

使用 acme.sh 指令签订域名证书的指令也有所不同(详见 粗体 红字

                            
                                acme.sh --issue --dns dns_ali -d oopsays.com -d *.oopsays.com
                            
                        

谷歌广告支持