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

Ubuntu 24.04 Certbot 自动化SSL证书配置指南

Ubuntu 24.04 Certbot 自动化SSL证书配置指南

简介:

Let’s Encrypt是一个免费、开放、自动化的证书颁发机构(CA),由非营利组织 Internet Security Research Group(ISRG)运营。它提供有效期 90 天的免费 SSL/TLS 证书,任何人都可以申请使用。

Certbot是 Let’s Encrypt 官方推荐的 ACME 客户端,用于自动申请、续期和管理 SSL 证书。它支持多种验证方式(如--webroot--nginx--standalone),可灵活适配不同的服务器环境。

环境说明:

  • 系统:Ubuntu 24.04
  • Web 服务器:Nginx
  • 域名:certbot.xxxx.com
  • 证书工具:Certbot + Let’s Encrypt

一、安装certbot

sudoaptupdatesudoaptinstallcertbot-y

安装完成后验证:

certbot--version

二、申请证书

sudocertbot certonly--webroot\-w/usr/local/nginx-1.26/html\-dcertbot.xxxx.com\--agree-tos\--email123456789@qq.com

参数说明:

  • certonly:只获取证书,不修改 Nginx 配置

  • --webroot:通过网站根目录验证域名所有权

  • -w /usr/local/nginx-1.26/html:换成你的网站根目录路径

  • -d:指定要申请证书的域名

  • --agree-tos:同意 Let’s Encrypt 的服务条款

  • --email:用于注册 ACME 账号和接收证书到期提醒

等待过后,我们可以看到证书已经成功申请到了,路径是:

/etc/letsencrypt/live/certbot.xxxx.com/fullchain.pem /etc/letsencrypt/live/certbot.xxxx.com/privkey.pem

三、添加自动续期定时任务

配置自动续期任务,让证书在到期前自动续签并重载 Nginx,无需手动干预。

1、编辑cron任务

sudocrontab-e

在文件末尾添加一行:

03* * * /usr/bin/certbot renew--quiet--renew-hook"/usr/local/nginx-1.26/sbin/nginx -t && /usr/local/nginx-1.26/sbin/nginx -s reload"

参数说明:

  • 0 3 * * *:每天凌晨 3 点执行
  • certbot renew:检查证书是否需要续期(只有到期前 30 天内才会真正续期)
  • --renew-hook:续期成功后,先检查 Nginx 配置语法,再重载,防止配置错误导致服务中断

2、验证cron任务已添加

sudocrontab-l

3、测试续期流程是否正常

sudocertbot renew --dry-run

看到以上信息,即表示续期流程正常工作。

四、配置 Nginx

配置 Nginx 启用 HTTPS,使证书生效,编辑你的 Nginx 配置文件(我的路径为/usr/local/nginx-1.26/conf/nginx.conf),写入以下测试内容:

worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name certbot.xxxx.com; return 301 https://$server_name$request_uri; } server { listen 443 ssl; server_name certbot.xxxx.com; ssl_certificate /etc/letsencrypt/live/certbot.xxxx.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/certbot.xxxx.com/privkey.pem; location / { root html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }

然后执行

/usr/local/nginx-1.26/sbin/nginx-t/usr/local/nginx-1.26/sbin/nginx-sreload

五、验证HTTPS生效

我们来验证一下 HTTPS证书 是否真的生效了,在浏览器里打开https://certbot.xxxx.com,能看到小锁图标就说明 HTTPS 正常工作了。

如需验证自动续期流程是否真正跑通,可以强制续期一次:

sudocertbot renew --force-renewal --renew-hook"/usr/local/nginx-1.26/sbin/nginx -t && /usr/local/nginx-1.26/sbin/nginx -s reload"

续期后查看证书信息,序列号和到期日期已更新,说明续期流程正常:

sudocertbot certificates

http://www.cnnetsun.cn/news/4099398.html

相关文章:

  • Source Sans 3 字体免费商用完整指南:7 个字重 5 种格式,一次配齐不踩坑
  • 如何在低配设备上跑起 Whisper Large V3 Turbo?sherpa-onnx 离线推理全流程指南
  • 【单片机毕业设计】基于单片机的药品余量检测与语音提示系统设计 基于 STM32/51 单片机的多路定时舵机驱动智能药盒设计(024203)
  • C语言安全编程:函数指针、错误码与变长参数函数实战指南
  • 关税下调引发汽车产业链价格重构:从整车到零部件的市场连锁反应分析
  • 暗黑破坏神2帧率卡成幻灯片还有黑边?D2DX三步解锁高帧率宽屏画质:免费完整上手指南
  • AgileLog:基于可复刻共享日志的智能体数据流协同架构设计
  • 焊接气体价格上涨,制造业车间如何应对?
  • 宝马X3 28i深度解析:豪华中型SUV的均衡之选
  • 基于HTML Canvas的社区节日数字连帽衫生成器开发实践
  • 具身智能操作系统PhyAgentOS:解耦认知与物理,实现机器人自进化
  • LLM智能体在机器人化学实验室的压力测试与可靠性加固实战
  • AI编码助手在LLVM编译器优化中的实践与挑战
  • 抖音视频一键批量下载:douyin-downloader 免费无水印工具让收藏不再焦虑
  • 2024下半年新能源SUV市场趋势与购车指南:理想L6、小鹏MONA、比亚迪海狮07 EV等车型解析
  • 增程式电动车(REEV)技术解析:后补贴时代的成本与体验平衡之道
  • 用Micro:bit制作二进制时钟:从原理到RTC模块应用
  • 没有示波器也能学电路:免费离线电路仿真软件 CircuitJS1 Desktop Mod 从零上手
  • 基于树莓派搭建Raveberry:开源多人协作音乐播放服务器实战指南
  • 此电脑快捷方式清理终极问答:MyComputerManager 的 5 个关键问题与实测结论
  • 比亚迪与佛吉亚合资:汽车供应链从垂直整合到战略联盟的演进
  • 伊顿数据中心固态变压器:从工频到高频的供电架构跃迁与落地实践
  • ESP32-S3 HackCard:信用卡大小的硬件安全测试平台开发全解析
  • 嵌入式物流小车RTLS实战:UWB+IMU融合定位与导航代码详解
  • Archer:基于智能体协作的编译器优化自动化评审框架
  • Starward 米家游戏启动器:启动与记录一步到位
  • 汽车安全防护体系解析:从车身结构到智能驾驶辅助
  • Git代码合并实战指南:从分支管理到团队协作规范
  • Windows 与 iPhone 文件互传指南:一个开源工具同时搞定传文件和剪贴板同步
  • LLM Agent技能系统设计:可用性与粒度如何影响任务规划与执行