在 CentOS 上使用 Certbot 申请 Let's Encrypt 免费 SSL 证书完整指南

在 CentOS 上使用 Certbot 申请 Let's Encrypt 免费 SSL 证书完整指南

本文详细介绍在已安装 Python 环境和 Nginx 的 CentOS 系统上,使用 Certbot 工具申请和部署 Let's Encrypt 免费 SSL 证书的完整流程。 Let's Encrypt的免费证书是90天有效期。

环境准备

确保您的系统满足以下条件:

  • CentOS 7/8 操作系统

  • Python 3.6+ 已安装

  • Nginx 已安装并运行正常

  • 域名 DNS 解析已指向服务器 IP 

使用 pip 安装certbot

如果通过 yum 安装失败,可以使用 pip 安装:

# 使用 pip 安装 certbot
pip install certbot certbot-nginx

# 创建符号链接到系统路径
sudo ln -s /usr/local/bin/certbot /usr/bin/certbot

第二步:申请 SSL 证书

使用 Nginx 插件自动配置(推荐)

certbot --nginx --nginx-server-root /usr/local/nginx/conf

后面跟随的路径是nginx的配置文件的路径

运行命令后,将进入交互模式:

请继续完成这个交互过程。根据提示依次输入以下信息:

邮箱地址 (Enter email address):

用途:用于接收证书到期续期提醒、安全通知等重要信息。

输入:输入你的有效邮箱地址,然后按回车。

服务条款 (Please read the Terms of Service...):

内容:屏幕上会显示 Let's Encrypt 的服务条款。

操作:输入 A 并回车表示同意 (Agree)。

邮件订阅 (Would you be willing to share your email address...):

内容:询问你是否愿意订阅 EFF 的邮件列表。

操作:输入 Y 表示愿意,或 N 表示不愿意,然后回车。这步可选,不影响证书申请。

选择域名 (Which names would you like to activate HTTPS for?):

内容:Certbot 会扫描你的 Nginx 配置,列出它找到的所有域名。

操作:使用键盘上下键选择你想要为其申请证书的域名(通常直接按回车选择全部),然后按回车确认。

重定向配置 (Please choose whether or not to redirect HTTP traffic to HTTPS...):

内容:询问你是否希望将所有的 HTTP 访问自动重定向到更安全的 HTTPS。

操作:强烈建议选择选项 2: Redirect。这样 Certbot 会自动帮你修改 Nginx 配置,实现全站 HTTPS。

完成以上步骤后,Certbot 就会:

为你的域名完成验证。

下载并安装 SSL 证书。

自动修改你的 Nginx 配置以启用 HTTPS 和重定向。

重新加载 Nginx 使配置生效。

注意,需要确保nnginx配置的域名均可以正常访问,才可以在选择域名时选择不选域名编号而直接按回车进行全选。如果nginx配置中有大量不用的则推荐选择单一域名进行配置

第四步:验证证书部署

直接在浏览器中使用https进行访问,配置的域名即可。

第五步:配置自动续期

# 模拟续期测试
sudo certbot renew --dry-run

一般正常是在刚才交互过程中会自动开启续期。

 

 
posted @ 2025-08-30 16:01  xsan  阅读(4)  评论(0)    收藏  举报