使用阿里云Certbot-DNS-Aliyun插件自动获取并更新免费SSL泛域名(通配符)证书

进入nginx docker,一般是Alpine Linux系统

  1. 依次执行命令:
bash 复制代码
sudo docker-compose exec nginx bash

apk update

apk add certbot 

apk add --no-cache python3 python3-dev build-base

apk add python3 py3-pip

pip3 install --upgrade pip

pip3 install certbot-dns-aliyun -i https://mirrors.aliyun.com/pypi/simple/ --default-timeout=100 --no-cache-dir

最后一步一直报错,把pip3版本改成21.3.1, python版本改为3.6成功了。

bash 复制代码
pip3 install --upgrade pip==21.3.1

pip3 --version
pip 21.3.1 from /usr/lib/python3.6/site-packages/pip (python 3.6)

2.创建阿里云RAM 用户账号,赋予AliyunDNSFullAccess权限,阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

sudo vi /etc/letsencrypt/aliyun.ini

在文件中添加以下内容:

certbot_dns_aliyun:dns_aliyun_access_key = your-access-key

certbot_dns_aliyun:dns_aliyun_access_key_secret = your-access-key-secret

3.生成证书

bash 复制代码
certbot certonly -a certbot-dns-aliyun:dns-aliyun --certbot-dns-aliyun:dns-aliyun-credentials /etc/letsencrypt/aliyun.ini  -d '*.xxx.com,xxx.com' --email xxx@163.com --config-dir /etc/nginx/ssl

--config-dir参数为证书存放路径,可以去掉,默认是/etc/letsencrypt/live/

bash 复制代码
vi /usr/local/bin/ssl_renew_and_reload.sh

在文件中添加以下内容:

复制代码
#!/bin/sh

certbot renew \
  -a certbot-dns-aliyun:dns-aliyun \
  --certbot-dns-aliyun:dns-aliyun-credentials /etc/letsencrypt/aliyun.ini \
  --email xxx@163.com \
  --config-dir /etc/nginx/ssl \
  --certbot-dns-aliyun:dns-aliyun-propagation-seconds 60 

nginx -s reload

设置权限:

bash 复制代码
chmod +x /usr/local/bin/ssl_renew_and_reload.sh

查看证书:

bash 复制代码
certbot certificates

4.定时任务

bash 复制代码
crontab -e

0 0 * * * /usr/local/bin/ssl_renew_and_reload.sh >> /var/log/letsencrypt/renew.log 2>&1

注意:

使用生成证书的命令是有接口限制的,因此不建议频繁调用,如果报错了先排查出问题再继续,可以在末尾加上--dry-run用于获取测试证书排查问题,没有报错后再去掉它获取正式证书

certbot certonly --webroot -w /home/wwwroot/xxx -d xxx.com --dry-run

sudo certbot renew --dry-run

查看生成的文件路径和参数:cat /etc/letsencrypt/renewal/域名.conf

运行:/usr/local/bin/ssl_renew_and_reload.sh

检查 /var/log/letsencrypt/letsencrypt.log 有没有错误

相关推荐
Database_Cool_2 小时前
AI 时代的数据仓库:阿里云 AnalyticDB MySQL 向量检索 + SQL 分析一体化实战
数据仓库·人工智能·mysql·阿里云
Database_Cool_2 小时前
Doris vs 阿里云 AnalyticDB MySQL vs ClickHouse:3 大 OLAP 产品 2026 深度对比
数据库·mysql·阿里云
Database_Cool_3 小时前
PB 级数据实时分析:阿里云 AnalyticDB MySQL Serverless 弹性架构深度解析
阿里云·架构·云计算
Maker 张3 小时前
树莓派上传温湿度模拟数据到腾讯云物联网平台
物联网·云计算·腾讯云
Database_Cool_3 小时前
数据仓库弹性扩缩容实践:阿里云 AnalyticDB MySQL 按需付费方案详解
数据仓库·mysql·阿里云
中草药z3 小时前
【RAG】工程化实战:全链路原理复盘 + 方案选型 + 实战高阶玩法
java·深度学习·机器学习·阿里云·rag·springai
Benszen3 小时前
云计算基础-4:Linux 进程管理
linux·运维·云计算
王码码203513 小时前
多台服务器怎么统一看状态?Beszel 轻量监控,搭起来不费事
运维·服务器·后端·安全·阿里云·接口·web
Mixtral13 小时前
职场录音转写工具投入产出比实测:随身鹿、通义听悟、阿里云与Trint该怎么选?
阿里云·云计算
CJH(本人账号)17 小时前
【AI安全】大模型安全威胁:Prompt注入与模型防御策略
人工智能·安全·机器学习·语言模型·云计算·prompt