Certbot自动续费Let‘s Encrypt证书

流程:Let's Encrypt会进行ca验证是否属于你的域名

使用 --webroot 模式会在 /var/www/example 中创建 .well-known 文件夹,这个文件夹里面包含了一些验证文件,certbot 会通过访问 example.com/.well-known/acme-challenge 来验证你的域名是否绑定的这个服务器。这个命令在大多数情况下都可以满足需求,

可以看下面的连接进行查看参考下,然后我这边就是可能是这个服务器做了什么限制,所以我采用dns解析的方案
连接

一、安装

shell 复制代码
# 安装 Certbot + 阿里云 DNS 插件 其他dns请看其他dns的方案问ai 
sudo apt update
sudo apt install -y certbot python3-pip
sudo pip3 install certbot-dns-aliyun

二、配置

shell 复制代码
sudo mkdir -p /etc/letsencrypt
sudo vim /etc/letsencrypt/aliyun.ini

写入(替换成你的 Key):

shell 复制代码
dns_aliyun_access_key = LTAI5xxxxxx
dns_aliyun_access_key_secret = qomUxxxxxx

必须改权限(防止泄露):

shell 复制代码
sudo chmod 600 /etc/letsencrypt/aliyun.ini

三、生成配置

-d xxx.com -d www.xxx.com是你的域名,生成成功后/etc/letsencrypt/live/xxx.com/证书的目录

shell 复制代码
sudo certbot certonly \
  --authenticator dns-aliyun \
  --dns-aliyun-credentials /etc/letsencrypt/aliyun.ini \
  --dns-aliyun-propagation-seconds 60 \
  -d xxx.com -d www.xxx.com

四、自动续费(关键)

1、测试自动续费

shell 复制代码
sudo certbot renew --dry-run

看到 Congratulations, all simulated renewals succeeded 即正常。

2、设置定时任务自动续费(自动续费后需要将证书替换docker里面,内容会变化)

shell 复制代码
sudo crontab -e

添加(每周一凌晨 3 点检查):

shell 复制代码
0 3 * * * /usr/bin/certbot renew --quiet

或者配置定时任务(自动续期 + 重载 Nginx)

shell 复制代码
0 3 * * 1 /usr/bin/certbot renew --quiet --deploy-hook "systemctl reload nginx"

--quiet:静默,只在出错时输出。

--deploy-hook:续期成功后自动重载 Nginx。

五、应急手动处理

shell 复制代码
# 立即检查并续期(到期前才会执行)
sudo certbot renew
# 强制立即重签(测试用)
sudo certbot renew --force-renewal
相关推荐
左钦杨2 小时前
如何剩下一笔SSL(https)证书的钱?
网络协议·https·ssl
就叫飞六吧3 天前
Cloudflare 免费 SSL 证书与兼容端口列表科普
网络协议·iphone·ssl
2601_967019513 天前
关于SSL和TLS的常见问题解答
ssl
我滴老baby4 天前
多个内网服务怎么统一入口?部署 Nginx Proxy Manager 配置反向代理与 SSL
运维·nginx·ssl
运维全栈笔记6 天前
Ubuntu 24.04 Certbot 自动化SSL证书配置指南
linux·运维·服务器·nginx·ubuntu·自动化·ssl
其实防守也摸鱼6 天前
使用 Ansible 批量更新服务器 SSL/TLS 证书实战指南
服务器·网络协议·学习·安全·web安全·ansible·ssl
zhengqiqiqinqin10 天前
Ubuntu16.04 升级ssl到3.5.7、升级ssh到9.8p1
网络协议·ssh·ssl
2501_9159214312 天前
抓包鹰 Traceeagle 解除证书绑定,SSL Pinning 解除
网络·网络协议·网络安全·ios·adb·https·ssl
Lucky_Turtle12 天前
【SSL】letsencrypt域名证书申请,Cloudflare域名
网络·网络协议·ssl
冠希陈、12 天前
Nginx部署SSL,导致多站点串站问题
运维·nginx·ssl