免费的泛域名https证书自动续期

什么是Certbot?

Certbot是专门为 Let’s Encrypt 制作的一个支持 ACME 协议的证书管理工具,可以通过它来全自动化的生成、管理、更新 Let’s encrypt 证书。

什么是Let’s Encrypt?

Let’s Encrypt是一個於2015年三季度推出的數位憑證認證機構,旨在以自動化流程消除手動建立和安裝憑證的複雜流程,並推廣使全球資訊網伺服器的加密連接無所不在,為安全網站提供免費的傳輸層安全性協定憑證。 [維基百科]

什么是泛域名?

就是 *.baidu.com 这种,可以实现无限的二级域名。

前言

一直用腾讯的 dnspod 为各种二级域名申请免费的 SSL 证书,一个二级域名对应一张证书,有效期1年,除了少数会留着一直用,大部分软件、镜像测试完之后,域名基本上就不再使用了,虽然管理上有点麻烦,但是毕竟免费的,还要啥自行车?直到有一天出现

title

查了一下,从2018年起亚洲诚信品牌免费型 DV 版 SSL 证书,同一主域最多只能申请20张,要么重复循环使用,要么申请泛域名证书。

但要申请一个泛域名 SSL 证书,一方面价格不菲,另一方面免费泛域名证书有效期一般只有三个月,当你的二级站点一多,难免会顾此失彼。

所以我们今天要解决的问题是用 Certbot 自动化来配置 SSL 证书和定时更新。

安装

因为主要是在群晖上建各种站点,所以还是在群晖上以 Docker 方式安装。

在注册表中搜索 xzxiaoshan ,选择 xzxiaoshan/certbot,版本选择 latest

title

设置

添加两个文件夹

文件夹 装载路径
docker/certbot/logs /var/log/letsencrypt
docker/certbot/letsencrypt /etc/letsencrypt

title

环境

以腾讯云为例

可变
PDNS txy
TXY_TOKEN 腾讯的SecretKey
TXY_KEY 腾讯的SecretId
CERT_PARAMS --email example@qq.com -d example.com -d *.example.com

因为都有key,开始想当然的把 SecretKey 填在了 TXY_KEY ,把 SecretId 填在了 TXY_TOKEN ,结果折腾了半天一直出错,囧~~~

参数说明

  • PDNS参数:阿里云aly、腾讯云txy、华为云hwy、GoDaddy godaddy
  • ALY_KEY 和 ALY_TOKEN:阿里云 API key 和 Secrec 官方申请文档
    https://help.aliyun.com/knowledge_detail/38738.html
  • TXY_KEY 和 TXY_TOKEN:腾讯云 API 密钥官方申请文档
    https://console.cloud.tencent.com/cam/capi
  • HWY_KEY 和 HWY_TOKEN: 华为云 API 密钥官方申请文档
    https://support.huaweicloud.com/devg-apisign/api-sign-provide.html
  • GODADDY_KEY 和 GODADDY_TOKEN:GoDaddy API 密钥官方申请文档
    https://developer.godaddy.com/getstarted
  • 支持的域名后缀详见文件domain.ini
    https://raw.githubusercontent.com/xzxiaoshan/certbot/master/certbot-au/domain.ini

title

使用

证书自动同步

群晖 –> “控制面板” –> “计划的任务” –> “用户定义的脚本” –> “任务设置”

脚本内容填写

1
/volume1/docker/certbot/letsencrypt/synology/syncSynologyCert.sh

title

其中前面一段 /volume1/docker/certbot/letsencrypt 是你群晖配置容器时挂载的卷的目录的实际路径(右键文件夹属性查看)。

脚本设置每天执行一次即可。

更换默认证书

容器运行成功后,如果没有出现错误,会自动生成一些目录

title

下载 archive 文件夹里的证书

title

新增证书

title

导入证书

title

将导入的证书设置为默认证书(原来默认的证书是 synology.com )

title

有可能会需要重启网页服务器

title

验证

在浏览器中输入 https://example.com

title

可以在 https://myssl.com 继续验 SSL 安全性,现在我们又可以继续愉快的玩(折)耍(腾)了。

参考文档

免费https证书(泛域名的,自动续期)
地址:https://blog.csdn.net/catoop/article/details/104970767

群晖免费HTTPS证书,泛域名+自动续期
地址:http://www.nasyun.com/thread-69407-1-1.html

Nginx配合Certbot自动更新,获得永久免费SSL证书
地址:https://blog.csdn.net/dotphoenix/article/details/106272421

使用 Certbot 为网站设置永久免费的 HTTPS 证书
地址:https://jimmysong.io/blog/free-certificates-with-certbot/

【原创】群晖安装并自动续期Let’s Encrypt SSL证书
地址:https://forum.51nb.com/thread-1789843-1-1.html