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

docker环境下如何使用lets Encrypt自动续签

前言

我的linux服务器运行的是centos8; nginx采用的是docker-compose部署的方式,采用certbot docker容器申请和自动续期encrypt证书

1:docker安装certbot容器 并且停止nginx容器

docker pull certbot/certbot

docker-compose stop nginx-proxy

2:创建letsencrypt目录存放证书与之前手动下载的证书区分

我的letsencrypt目录为 /data/nginx/certs/letsencrypt

3:修改nginx下两个站点的配置文件的ssl路径为lets encrypt的证书文件

点击查看代码
# /docker/nginx/conf.d/thinkphp.conf
server {listen 443 ssl http2;server_name tp.example.com;ssl_certificate /etc/nginx/certs/letsencrypt/live/tp.example.com/fullchain.pem;ssl_certificate_key /etc/nginx/certs/letsencrypt/live/tp.example.com/privkey.pem;location / {proxy_pass http://thinkphp-app:9000;  # 假设你的 ThinkPHP 容器名为 thinkphp-appproxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;}
}server {listen 80;server_name tp.example.com;return 301 https://$host$request_uri;
}

4:运行certbot申请证书

在 /data/nginx 目录下运行

点击查看代码
docker run --rm \-v $(pwd)/certs/letsencrypt:/etc/letsencrypt \-v $(pwd)/logs/letsencrypt:/var/log/letsencrypt \-p 80:80 \certbot/certbot certonly \--standalone \--non-interactive \--agree-tos \--email 2607771759@qq.com \--domains wordpress.leyanpei.com

成功后会有如下提示 image

5:重启nginx

在 /data/nginx 目录下运行 docker-compose up -d

6:设置自动续期

在 /data/nginx 目录下创建脚本renew-certe.sh 内容如下

点击查看代码
#!/bin/bash
cd /data/nginx# 停止 nginx(释放 80 端口)
docker-compose stop nginx-proxy# 续期证书
docker run --rm \-v $(pwd)/certs/letsencrypt:/etc/letsencrypt \-v $(pwd)/logs/letsencrypt:/var/log/letsencrypt \certbot/certbot renew --quiet# 重启 nginx
docker-compose up -d

赋予执行权限 chmod +x /data/nginx/renew-certs.sh

添加定时任务 crontab -e

每周日凌晨2:30执行
30 2 * * 0 /data/nginx/renew-certs.sh >> /data/nginx/logs/certbot-renew.log 2>&1

遇到的坑

成功运行完4的命令后letsencrypt文件夹下没有证书文件

查看/data/nginxlogs/letsencrypt下的日志发现 证书存放的文件是

点击查看代码
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/wordpress.leyanpei.com/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/wordpress.leyanpei.com/privkey.pem
然后比照我第3步骤的路径发现是当时写错了
http://www.gsyq.cn/news/49663.html

相关文章:

  • 获取docker前一分钟的至现在日志
  • 【转载】python如何录屏
  • 2025 年 11 月一力油漆/一力涂料厂家推荐排行榜:醇酸油漆,环氧富锌底漆,丙烯酸聚氨酯油漆专业选购指南
  • 2025年液压强夯机生产厂家权威推荐榜单:装载机液压夯实机/冲击夯/高速液压强夯机源头厂家精选
  • 习题解析之:字符大小写转换
  • ASM指令做题记录
  • 11月第二周
  • 视频汇聚平台EasyCVR化解高速服务区管理难题,打造高速服务区的智慧监控方案
  • 2025年直埋保温管供货厂家权威推荐榜单:热力管道/夹克保温管/预制直埋保温管源头厂家精选
  • 2025年通风气楼厂家权威推荐榜单:钢结构厂房气楼/顺坡气楼/排烟通风气楼源头厂家精选
  • IP种子技术:构建全球P2P网络实时监测方案
  • 编译lazarus时,可能出现Makefile:3520: recipe for target fcllaz.ppu failed的处理方法
  • 破局代码思维:软件开发公司的体验式竞争力进化
  • IP定位面积揭秘:为什么你的IP归属地会不准确?
  • 嵌入式PWRKEY多功能使用攻略与设计要点探讨!
  • 单调队列优化多重背包
  • 2025年广东儿子不学习沉迷网络公司权威推荐榜单:青少年戒掉网瘾/初中生沉迷网络游戏/孩子沉迷网络游戏源头公司精选
  • 打造景区“视觉中枢”:视频融合平台EasyCVR助力智慧景区安防智能化升级
  • Proxmox VE创建Linux虚拟机、相关设置分析
  • 2025年AI数字人企业排名大揭秘:前十强出炉,ai排行榜/ai排名/视频矩阵/短视频矩阵/ai和数字人/抖音短视频矩阵/GEO公司口碑推荐
  • 2025-11-14 ZYZ28-NOIP模拟赛-Round6 hetao1733837的record
  • 【往届会后三个月完成EI检索 | IEEE出版】第二届智能机器人与自动控制国际学术会议(IRAC 2025)
  • 2025年金属保温装饰板最新标杆企业推荐:铝板保温装饰一体板/外墙保温装饰板/金属保温装饰板/浙江欣阳嘉茂控股集团有限公司
  • 高精度机器人控制的核心——基于 MYD-LT536 开发板的精密运动控制方案
  • 解决Linux 下 root用户删除文件提示:Operation not permitted
  • 百思沐成品卫生间生产厂家,百思沐集成淋浴房生产厂家、 百思沐整体厨房公司排行、装配式厨房工厂排名 、快装式墙板工厂十大推荐榜--南京正标环保科技
  • 详细介绍:Endnote | word中加载项消失不见,如何处理?
  • 2025集成卫生间厂家排行、一体式卫生间公司推荐、装配式卫生间工厂、 成品卫生间生产厂家推荐、 整体淋浴房品牌排名、装配式淋浴房生产厂家品牌十大推荐榜-南京正标环保科技
  • Java-请求相关重要的类
  • 习题解析之:字母查找2.0