腾讯云域名自动更新免费ssl

应小伙伴基蓝(7蓝)相邀,搞自动更新let's Encrypt证书。本来想这个东西搞过,利用acme.sh + docker compose小菜尔,结果还是费了些时间。于是记下这篇文章,如有后来者有缘看到,能省下些时间。

由于域名托管在腾讯云上,直接看acme.sh api没有找到。经查腾讯云域名使用的是dnspod,所以用dnspod的配置就可以了。登上dnspod的后台找了许久也没有找到申请token的地址的入口,直接输入官方文档上的地址,才找到。
###编写docker-compose文件 申请到tonken编写docker-compose文件,命令vim docker-compose.yaml docker-compose内容如下

version: "3"
services:
  acme.sh:
    image: neilpang/acme.sh
    container_name: acme.sh
    restart: always
    command: daemon
    environment:
      - DP_Id=token的id
      - DP_Key=token

    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./ssl:/acme.sh
    network_mode: host

命令docker-compose up -d 命令docker exec acme.sh --issue --dns dns_dp -d datayang.com -d '*.datayang.com' --keylength ec-384

这里要要注意使用dns_dp 不是dns_dpi,就错了这点,连续错几次不让我申请了,要过段时间才能申请 ###设置定时任务 crontab -e

0 0 * * * docker exec acme.sh --cron

命令crontab -l查看定时任务

###备注 我的域名托管的是he.net上面不一样,做个备注下次直接能用了 docker-compose.yaml

version: "3"
services:
  acme.sh:
    image: neilpang/acme.sh
    container_name: acme.sh
    restart: always
    command: daemon
    environment:
      - HE_Username=用户名
      - HE_Password=密码
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./ssl:/acme.sh
    network_mode: host

命令 docker exec acme.sh --issue --dns dns_he -d datayang.com -d '*.datayang.com' --keylength ec-384

nginx可使用证书

ssl_certificate      datayang.com_ecc/fullchain.cer;
ssl_certificate_key  datayang.com_ecc/datayang.com.key;

参考: 地址一 地址二

暂无评论
发表新评论