Transkey

自动更新通配符SSL证书 (Let’s Encrypt)
一、前言上篇跟大家介绍了通过acme.sh手动来申请通配符证书。本篇将介绍如何使用脚本自动添加域名的TXT记录,并...
扫描右侧二维码阅读全文
14
2019/07

自动更新通配符SSL证书 (Let’s Encrypt)

一、前言


上篇跟大家介绍了通过acme.sh手动来申请通配符证书。
本篇将介绍如何使用脚本自动添加域名的TXT记录,并自动下载更新证书,来保证证书不过期。


二、环境

站点系统:Linux
脚本:acme.sh
站点容器: Nginx
支持域名解析商:


此处内容需要评论回复后(审核通过)方可阅读。


三、设置

1. 从解析商获取API ID与Token,本文以DNSPod为例。

用户中心 → 安全设置 → API token → 开启

创建API token → 输入Tokens名称(随意:test) → 确定 → 确定
获取API

得到ID/Token(备用)
ID: 105490
Token: db832aaa739febe8510c62a1c4179fd6

2. 方法一(命令行操作DNSPod为例)

添加ID/Token,让acme.sh脚本能够有访问DNSPod.cn

export DP_Id="105490"
export DP_Key="db832aaa739febe8510c62a1c4179fd6"

颁发证书

./acme.sh --issue \
--dns dns_dp -d 1msky.cn -d *.1msky.cn \
--yes-I-know-dns-manual-mode-enough-go-ahead-please

DP_IdDP_Key将被保存~/.acme.sh/account.conf,如果存在会被重写。

部署证书

acme.sh --installcert -d 1msky.cn \
--keypath  /www/server/panel/vhost/ssl/1msky.cn/privkey.key \
--fullchainpath /www/server/panel/vhost/ssl/1msky.cn/fullchain.pem \
--reloadcmd  "service nginx force-reload"

1msky.cn ⇒ 替换成自己域名
证书位置(path自己找下):find / -name ssl
privkey.key
fullchain.pem

这样就会自动续签了60天一次

其他解析商参数不一样,参考如下:

CloudFlare

  • ID/Token

    export CF_Key="db832aaa739febe8510c62a1c4179fd6"
    export CF_Email="xxxx@xxxx"
  • 颁发证书

    ./acme.sh --issue \
    --dns dns_cf \ 
    -d 1msky.cn -d *.1msky.cn
    --yes-I-know-dns-manual-mode-enough-go-ahead-please

CloudXNS

  • ID/Token

    export CX_Key="xxxx"
    export CX_Secret="xxxxx"
  • 颁发证书

    ./acme.sh --issue \
    --dns dns_cx \ 
    -d 1msky.cn -d *.1msky.cn
    --yes-I-know-dns-manual-mode-enough-go-ahead-please

GoDaddy

  • ID/Token

    export GD_Key="xxxxxxxxxxxx"
    export GD_Secret="xxxxxxxxxxx"
  • 颁发证书

    ./acme.sh --issue \
    --dns dns_gd \ 
    -d 1msky.cn -d *.1msky.cn
    --yes-I-know-dns-manual-mode-enough-go-ahead-please

PowerDNS

  • ID/Token

    export PDNS_Url="http://ns.example.com:8081"
    export PDNS_ServerId="localhost"
    export PDNS_Token="xxxxxxxxxxxx"
    export PDNS_Ttl=600
  • 颁发证书

    ./acme.sh --issue \
    --dns dns_pdns \ 
    -d 1msky.cn -d *.1msky.cn
    --yes-I-know-dns-manual-mode-enough-go-ahead-please

AliYun

  • ID/Token

    export Ali_Key="sdfsdfsdfljlbjkljlkjsdfoiwje"
    export Ali_Secret="jlsdflanljkljlfdsaklkjflsa"
  • 颁发证书

    ./acme.sh --issue \
    --dns dns_ali \ 
    -d 1msky.cn -d *.1msky.cn
    --yes-I-know-dns-manual-mode-enough-go-ahead-please

3. 方法二(宝塔GUI操作)

登录宝塔,选择站点

1.png

添加域名(顶级域名,二级泛型域名)

2.png

自动验证域名

SSL → Let's Encrypt → 验证方式 DNS验证 → 自动组合泛域名打√ → 选择DNS接口 DnsPod

此处以DnsPod,其他解析商也可以选择,与方法一一样的

3.png

设置ID/Token

选择DNS接口 DnsPod → 设置 → 填入ID/Token → 保存
4.png

申请

确认信息,没啥问题点击申请
5.png

部署证书

等待几分钟,证书就生成了,证书夹部署强制HTTTPS有效起来
6.png

保存

7.png

自动续签

计划任务crontab
脚本内容

python /www/server/panel/class/panelLets.py renew_lets_ssl 

8.png


四、结语

配置完后,再也不用担心SSL证书过期
以上两种方法学会了吗? O(∩_∩)O哈哈~,如有疑问可以留言,博主会第一时间给你们回复哦。


阿里云中国版注册就送¥2000,可开香港区机房CN2专线,【点击注册】。
阿里云国际版注册就送$10,国际机房CN2专线,无需备案,【点击注册】。

Last modification:July 25th, 2019 at 05:10 pm
如果觉得我的文章对你有用,请随意赞赏

10 comments

  1. iblis

    给力哦

  2. 江霁月

    谢大佬

  3. 江霁月

    谢大佬

  4. 喔的白

    真的可以吗,亲

    1. Transkey
      @喔的白

      可以用啊

  5. jack

    给力哦

    1. Transkey
  6. 負笈

    优秀

    1. Transkey
      @負笈

      test

    2. Transkey
      @負笈

      回家

Leave a Comment