当前位置: 首页 > news >正文

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

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


1. 依次执行命令:

sudo docker-compose exec nginx bashapk updateapk add certbot apk add --no-cache python3 python3-dev build-baseapk add python3 py3-pippip3 install --upgrade pippip3 install certbot-dns-aliyun -i https://mirrors.aliyun.com/pypi/simple/ --default-timeout=100 --no-cache-dir

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

pip3 install --upgrade pip==21.3.1pip3 --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.生成证书

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/

vi /usr/local/bin/ssl_renew_and_reload.sh

在文件中添加以下内容:

#!/bin/shcertbot 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

设置权限:

chmod +x /usr/local/bin/ssl_renew_and_reload.sh

查看证书:

certbot certificates

4.定时任务

crontab -e0 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 有没有错误


 

http://www.lryc.cn/news/505987.html

相关文章:

  • Node.js安装配置+Vue环境配置+创建一个VUE项目
  • “TA”说|表数据备份还原:SQLark 百灵连接助力项目部署验收
  • 【FFmpeg】解封装 ① ( 封装与解封装流程 | 解封装函数简介 | 查找码流标号和码流参数信息 | 使用 MediaInfo 分析视频文件 )
  • Spring Boot 集成 MyBatis 全面讲解
  • C语言小练习-打印字母倒三角
  • Linux -- 线程控制相关的函数
  • 基于quasar,只选择年度与月份的组件
  • 健康养生:拥抱生活的艺术
  • 注意力机制+时空特征融合!组合模型集成学习预测!LSTM-Attention-Adaboost多变量时序预测
  • uniapp 微信小程序 均分数据展示
  • Nacos 3.0 考虑升级到 Spring Boot 3 + JDK 17 了!
  • 跟沐神学读论文-论文阅读管理
  • Python 参数配置使用 XML 文件的教程 || Python打包 || 模型部署
  • [SV]如何在UVM环境中使用C Model
  • 十大开源的Cursor AI替代方案
  • 相机光学(四十六)——镜头马达(VCM)控制策略模式
  • 专业140+总分410+浙江大学842信号系统与数字电路考研经验浙大电子信息与通信工程,真题,大纲,参考书。
  • 了解ARM的千兆以太网——RK3588
  • JavaFX使用jfoenix的UI控件
  • Linux(Ubuntu)命令大全——已分类整理,学习、查看更加方便直观!(2024年最新编制)
  • 单片机:实现教学上下课的自动打玲(附带源码)
  • 进程通信方式---共享映射区(无血缘关系用的)
  • 深度学习实战智能交通计数
  • 【MySQL】MySQL表的操作
  • Redis篇-12--数据结构篇4--Hash内存模型(数组,链表,压缩列表zipList,哈希表,短结构)
  • 二、windows环境下vscode使用wsl教程
  • Qwen2-VL微调体验
  • 论文的模拟环境和实验环境
  • MySQL EXPLAIN 详解:一眼看懂查询计划
  • 自动呼入机器人如何与人工客服进行无缝切换?