1. 安装和配置 Certbot
通过 certbot 工具,使用 Cloudflare DNS 进行域名验证,申请证书。Cloudflare 的 API 密钥保存在 /etc/letsencrypt/cloudflare.ini 中。
Certbot 的命令用于申请证书,并配置 deploy-hook,在证书续订时自动将更新后的证书复制到飞牛系统指定的证书存储路径,并重启 trim_nginx 服务。
2. 证书申**令- sudo certbot certonly \
- --dns-cloudflare \
- --dns-cloudflare-credentials /etc/letsencrypt/cloudflare.ini \
- -d "*.123456.xyz" \
- --email 345678@qq.com \
- --agree-tos \
- --non-interactive \
- --deploy-hook "cp /etc/letsencrypt/live/123456.xyz/fullchain.pem /usr/trim/var/trim_connect/ssls/*.123456.xyz/1727676889/*.123456.xyz.crt && cp /etc/letsencrypt/live/123456.xyz/privkey.pem /usr/trim/var/trim_connect/ssls/*.123456.xyz/1727676889/*.123456.xyz.key && systemctl reload trim_nginx"
复制代码
其中的*.123456.xyz换成你自己的域名,星号是通配符,不要动。345678@qq.com换成你自己的邮箱。
3. 证书自动续订
Certbot 会自动创建续订任务,周期性检查证书的到期时间,并在证书快到期时自动续订。续订完成后,Certbot 会执行 deploy-hook,将新证书复制到飞牛系统的证书存储路径 /usr/trim/var/trim_connect/ssls/*.123456.xyz/1727676889/,并重启 Nginx 服务以应用新证书。
4. 验证证书和路径
通过 certbot certificates 命令查看申请的证书及其有效期。
通过 openssl x509 -in <path_to_certificate> -noout -dates 检查证书的生效和过期时间,确保证书已经成功应用。
5. 定时续订
Certbot 自动续订的任务已经在系统中配置,并通过 systemctl list-timers --all | grep certbot 确认定时任务的执行情况。
此方案保证了证书的申请、存储、续订和自动化处理,用户不再需要手动干预。而且在飞牛的webui界面是可以选取你申请下来的证书的。
此贴只是用来记录我折腾的过程,哪天系统崩了可以回来翻看。当然我也知道用lucky就是点几下就解决的事。
|