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

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

相关推荐
Zach_yuan1 小时前
深入浅出 JSONCpp
linux·服务器·网络·c++
马猴烧酒.1 小时前
【面试八股|JAVA多线程】JAVA多线程常考面试题详解
java·服务器·数据库
熊延2 小时前
麒麟V10系统安装部署elasticsearch
linux·运维·服务器·elasticsearch·搜索引擎·全文检索
松涛和鸣3 小时前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
爱吃生蚝的于勒6 小时前
【Linux】进程信号之捕捉(三)
linux·运维·服务器·c语言·数据结构·c++·学习
The森6 小时前
Linux IO 模型纵深解析 01:从 Unix 传统到 Linux 内核的 IO 第一性原理
linux·服务器·c语言·经验分享·笔记·unix
期待のcode6 小时前
Redis的主从复制与集群
运维·服务器·redis
翼龙云_cloud6 小时前
腾讯云代理商: Linux 云服务器搭建 FTP 服务指南
linux·服务器·腾讯云
REDcker7 小时前
gRPC开发者快速入门
服务器·c++·后端·grpc
江湖有缘7 小时前
零基础入门:使用 Docker 快速部署 Organizr 个人主页
java·服务器·docker