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

Let‘s Encrypt 免费SSL证书,自动续订

Let`s Encrypt 是一个免费的证书授权机构(CA),其通过 ACME 协议接口自动签发数字证书,来让你省去证书过期的烦恼。

ACME客户端有很多,Let`s Encrypt 官网推荐 Certbot ,下面是具体获取免费证书的流程:

一、安装 Certbot 客户端

yum install certbot

二、生成证书

certbot certonly --webroot -w /your/site/root -d yoursite.com -d

上述命令会为 yoursite.com 和 www.yoursite.com 这两个域名生成证书,使用 --weroot 模式会在 /your/site/root 中创建 .well-known 文件夹,这个文件夹里面包含了一些验证文件,certbot 会通过访问 yoursite.com/.well-known/acme-challenge 来验证你的域名是否绑定的这个服务器。

生成的证书会被放置在 /etc/letsencrypt/live/yoursite.com/ 目录下。我们要用到的有两个 fullchain.pem 和 privkey.pem

三、配置证书

在 nginx 配置对证书:

server { server_name yoursite.com www.yoursite.com; listen 443; ssl_certificate /etc/letsencrypt/live/yoursite.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/yoursite.com/privkey.pem; }

四、自动更新 SSL 证书

Let’s Encrypt 提供的证书只有90天的有效期,我们必须在证书到期之前,重新获取这些证书,certbot 给我们提供了一个很方便的命令,那就是 certbot renew。 通过这个命令,他会自动检查系统内的证书,并且自动更新这些证书:

certbot renew --dry-run

上述命令需要手动在证书到期前执行,来更新证书。为了更方便,我们可以启动一个定时任务,来完成自动更新。

CentOS 7 上设置定时任务有多种方式,如:crontab、systemd timer、at等。本文采用crontab。

我们设置每隔两个月执行一次更新命令,并重启 nginx。首先看下 crontab 任务格式:

* * * * * command

其中,五个星号分别代表分钟、小时、日、月、周,可以使用以下符号:

*: 代表任意值

,:代表多个值

-:代表一个范围

/:代表间隔时间

所以我们的命令如下:

0 3 4 */2 * certbot renew --post-hook "nginx -s reload" >> /var/log/certbot-renew.log 2>&1

上述命令表示,每隔两个月的4号凌晨3点,重新执行cerbot证书续期命令,执行完后重启nginx,并生成日志;

下面是具体设置定时任务步骤:

1、执行命令 crontab -e

2、输入命令 0 3 4 */2 * certbot renew --post-hook "nginx -s reload" >> /var/log/certbot-renew.log 2>&1

保存并退出。

系统提示:

no crontab for root - using an empty one crontab: installing new crontab

表示定时任务设置成功!

可以通过 crontab -l 来查看定时任务是否设置成功。

http://www.jsqmd.com/news/720431/

相关文章:

  • 告别‘花瓶’融合:用PSFusion让红外与可见光图像真正为下游AI任务服务
  • PyQt5打包exe图标不显示?别慌,一个resource_path函数搞定窗口和任务栏图标
  • C++笔记 STL——set
  • 从viewBox到symbol:手把手教你用SVG搭建一套可复用的图标系统
  • Obsidian插件国际化实践指南:如何用正则匹配与动态注入技术实现插件界面汉化
  • CC-Switch_下载安装_配置流程_2026.4.28
  • “主动+量化”融合:一个程序员的视角
  • CPPM证书在国企有用吗?体制内认可度 - 众智商学院官方
  • Visual Syslog Server:Windows环境企业级日志集中管理终极解决方案
  • 冲孔链板提升机:选型逻辑与场景适配全科普 - 奔跑123
  • 5分钟掌握Electron-Vue:用Vue.js轻松构建跨平台桌面应用
  • 别再手动循环了!C++中vector<uint8_t>与原始数组互转的3种高效写法(附性能对比)
  • 红色系网络公司网站 官网源码 四网合一四端全支持
  • 深求·墨鉴部署案例:NVIDIA T4服务器上单卡并发5路OCR的算力优化实践
  • 知识竞赛策划全流程详解
  • 探索桌面萌宠的无限可能:BongoCat模型定制艺术揭秘
  • 国内农化领域瓶装灌装机厂家实力排行盘点 - 奔跑123
  • 如何零基础掌握Charticulator:免费图表设计工具完整指南
  • 2026最新火锅底料品牌/公司推荐!国内优质权威榜单发布,口碑出众成都福建四川等地品牌精选 - 十大品牌榜
  • 图片批量下载终极指南:3步快速部署高效图像采集工具
  • 2026FIC初赛-服务器部分WP
  • 用JavaScript手写一个斗地主残局破解器(附完整源码和递归算法详解)
  • Windows系统调校的艺术:Winhance中文版深度解析与实践指南
  • AI超级员工系统怎么选?这5个问答帮你避开90%的坑 - 速递信息
  • 从‘红字’到‘白屏’:深入浏览器控制台,彻底理解Promise错误捕获机制
  • AVAudioSession 核心实战:后台播放、听筒/扬声器切换与静音键适配全解析
  • R 4.5下microbiome+metagenomeSeq+mixOmics三库协同失效?——2024年首份跨平台多组学整合分析稳定性白皮书
  • 2026年浙江灭火设备厂家权威推荐,烟罩灭火设备/灶台灭火设备/食堂灭火设备/学校食堂灭火设备/厨房灶台灭火设备 - 品牌策略师
  • 基于Matlab的脑电信号处理系统设计与实现:GUI界面、时频域分析、预处理与分解
  • 保姆级教程:在Ubuntu 20.04上搞定ARM交叉编译工具链gcc-arm-8.3-2019.03