在阿里云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://你的域名

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

相关推荐
wanhengidc2 小时前
云手机 高振畅玩不踩坑
运维·服务器·安全·web安全·智能手机
有谁看见我的剑了?2 小时前
linux 添加硬盘后系统识别不到硬盘处理
linux·运维·服务器
金色光环5 小时前
FreeModbus释放底层的 TCP 监听端口
服务器·网络·tcp/ip
一曦的后花园8 小时前
linux搭建promethes并对接node-exporter指标
linux·运维·服务器
乌托邦的逃亡者9 小时前
CentOS/Openeuler主机中,为一个网卡设置多个IP地址
linux·运维·网络·tcp/ip·centos
桌面运维家10 小时前
服务器进程异常监控:快速定位与排障实战指南
运维·服务器
@CLoudbays_Martin1110 小时前
UniApp是否能够接入SDK游戏盾呢?
服务器·网络·网络协议·tcp/ip·安全
郝亚军10 小时前
ubuntu 22.04如何安装libmodbus
运维·服务器·ubuntu
李日灐10 小时前
< 6 > Linux 自动化构建工具:makefile 详解 + 进度条实战小项目
linux·运维·服务器·后端·自动化·进度条·makefile