在阿里云CentOS服务器上使用Certbot为Nginx配置SSL证书

本文记录如何为阿里云CentOS服务器上的网站配置免费的Let's Encrypt SSL证书,解决浏览器"不安全"警告。

环境准备

  • 操作系统:CentOS 7/8

  • Web服务器:Nginx

  • 域名:已解析到服务器IP

安装步骤

1. 安装Certbot及Nginx插件

复制代码
# 安装EPEL仓库
yum install -y epel-release

# 安装Certbot和Nginx插件
yum install -y certbot python3-certbot-nginx

2. 运行Certbot配置SSL

执行以下命令开始配置:

复制代码
certbot --nginx

3. 交互式配置过程

按照提示完成以下步骤:

第1步:输入邮箱地址

text

复制代码
Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel):

输入你的邮箱地址后回车,用于接收证书续期提醒和安全通知。

第2步:同意服务条款

复制代码
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.5-February-24-2025.pdf. You must
agree in order to register with the ACME server. Do you agree?
(Y)es/(N)o:

输入 Y 回车同意服务条款。

第3步:邮箱共享选择(可选)

复制代码
Would you be willing to share your email address with the Electronic Frontier Foundation?
(Y)es/(N)o:

输入 YN 根据个人意愿选择,不影响证书申请。

第4步:选择要启用HTTPS的域名

复制代码
Which names would you like to activate HTTPS for?
1: 
2: 
3: 

Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel):

直接按回车选择所有列出的域名。

第5步:设置HTTP重定向(关键步骤)

复制代码
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
1: No redirect - Make no changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access.

输入 2 回车,启用HTTP到HTTPS的强制重定向。

配置完成

看到以下信息表示配置成功:

复制代码
Congratulations! You have successfully enabled https://www.xxx.com.cn

证书文件位置:

  • 证书文件:/etc/letsencrypt/live/你的域名/fullchain.pem

  • 私钥文件:/etc/letsencrypt/live/你的域名/privkey.pem

证书自动续期

Let's Encrypt证书有效期为90天,但Certbot会自动处理续期。测试续期功能:

复制代码
certbot renew --dry-run

为新域名添加SSL

后续添加新的二级域名时:

  1. 先在Nginx中配置好新域名

  2. 运行:certbot --nginx

  3. 在域名选择步骤中选中新域名即可

常见问题

1. Nginx插件未安装

错误信息:The requested nginx plugin does not appear to be installed

解决方案:重新安装插件

复制代码
yum install -y python3-certbot-nginx

2. 证书覆盖多个域名

Certbot会自动扫描Nginx配置中的所有域名,可以一次性为多个域名配置SSL。

验证效果

配置完成后,访问你的网站:

  • http://你的域名 会自动跳转到 https://你的域名

  • 浏览器地址栏显示安全锁图标

相关推荐
qq_297574673 小时前
【实战教程】SpringBoot 集成阿里云短信服务实现验证码发送
spring boot·后端·阿里云
碎梦归途3 小时前
思科网络设备配置命令大全,涵盖从交换机到路由器的核心配置命令
linux·运维·服务器·网络·网络协议·路由器·交换机
七维大脑虚拟机3 小时前
飞牛NAS公网IPv6+DDNS远程访问零延迟教程
运维·服务器·网络
小天源3 小时前
nginx在centos7上热升级步骤
linux·服务器·nginx
宴之敖者、6 小时前
Linux——\r,\n和缓冲区
linux·运维·服务器
LuDvei6 小时前
LINUX错误提示函数
linux·运维·服务器
未来可期LJ6 小时前
【Linux 系统】进程间的通信方式
linux·服务器
心理之旅6 小时前
高校文献检索系统
运维·服务器·容器
Lenyiin6 小时前
Linux 基础IO
java·linux·服务器
The Chosen One9856 小时前
【Linux】深入理解Linux进程(一):PCB结构、Fork创建与状态切换详解
linux·运维·服务器