Rocky Linux Nginx 自动更新免费 SSL,全流程实战

createh51周前 (06-23)技术教程6

Let’s Encrypt 是由非营利性组织 Internet Security Research Group (ISRG) 推动的免费、自动化、开源的证书颁发机构(CA)。

它采用 ACME 协议,让用户能够轻松获取和自动续期 TLS/SSL 证书,从而为网站提供 HTTPS 加密连接。

自 2016 年推出以来,Let’s Encrypt 已颁发数亿份证书,大幅降低了 HTTPS 部署门槛。


环境准备

  1. 确认系统版本

Rocky Linux 8/9,内核 4.18+ 或 5.14+,原生支持现代加密模块。

  1. 安装 EPEL 源

sudo dnf install -y epel-release

  1. 启用 EPEL 并更新

sudo dnf update -y


安装 Certbot 与 Nginx 插件

sudo dnf install -y certbot python3-certbot-nginx
  • certbot:Let’s Encrypt 官方客户端
  • python3-certbot-nginx:自动修改 Nginx 配置的插件

首次签发免费 SSL


  1. 执行一键签发命令

sudo certbot --nginx \ -d yourdomain.com \ -d www.yourdomain.com \ --email admin@yourdomain.com \ --agree-tos \ --redirect

  1. 命令说明

-d:指定域名,可多次使用

--email:接收证书更新提醒

--agree-tos:同意服务条款

--redirect:自动启用 HTTP→HTTPS 强制跳转

  1. 成功示例

浏览器访问 https://yourdomain.com 显示绿色小锁

Nginx 配置文件自动添加 ssl_certificatessl_certificate_key


自动续期配置

  1. 验证定时任务

sudo systemctl list-timers | grep certbot

默认每12小时执行一次续期检测

  1. 手动测试续期

sudo certbot renew --dry-run

输出 Congratulations, all renewals succeeded. 则配置生效




排查与优化

  • 端口未开放

sudo firewall-cmd --permanent --add-service=https

sudo firewall-cmd --reload

  • 域名未解析

确保 DNS A/AAAA 记录指向当前服务器公网 IP

  • SELinux 拒绝

sudo setenforce 0 # 测试期间

sudo setenforce 1 # 完成后恢复


验证与监控

  1. 检查到期时间

sudo certbot certificates

  1. 日志位置

/var/log/letsencrypt/letsencrypt.log

  1. 常见问题

Permission denied → 使用 sudo

Connection refused → 确认 Nginx 正常运行


相关文章

pure-ftpd 使用

pure-ftpd是一个免费的ftp软件,其他介绍就不多说了。我们直接开始主题安装centosyum install epel-release yum install pure-ftpd配置备份原配置...

Docker/Compose常用命令整理总结

一、Docker 常用命令1. 镜像管理命令用途常用参数示例docker pull <镜像名>:<标签>拉取镜像docker pull nginx:latestdocker i...

Docker命令最全详解(29个最常用命令)

大家好,我是mikechen。Docker是云原生的核心,也是大厂的必备技能,下面我就全面来详解Docker核心命令@mikechen本文作者:陈睿|mikechen文章来源:mikechen.cc1...

wordpress搭建教程,wp网站搭建教程,wordpress快速搭建

wordpress搭建教程,WordPress是一款使用PHP语言开发的博客平台,站长可使用通过WordPress搭建属于个人的网站。本文主要分享如何wordpress建站的wordpress搭建教程...

三行命令完成Nginx 建立免费SSL 证书

设置SSL不一定是昂贵和复杂的,这是为Nginx服务器设置SSL的最快和最简单的方法。亚马逊Linux的AMI已经预装了python和pip,所以这非常快速和简单 第一步。 SSH进入EC2实例 第二...