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

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

相关推荐
Danileaf_Guo4 小时前
256台H100服务器算力中心的带外管理网络建设方案
运维·服务器
拾贰_C6 小时前
【Linux | Windows | Terminal Command】 Linux---grep | Windows--- findstr
linux·运维·服务器
alengan7 小时前
linux上面写python3日志服务器
linux·运维·服务器
阿里云云原生8 小时前
Android App 崩溃排查实战:如何利用 RUM 完整数据与符号化技术定位问题?
android·阿里云·云原生·rum
小卒过河01048 小时前
使用apache nifi 从数据库文件表路径拉取远程文件至远程服务器目的地址
运维·服务器·数据库
土星云SaturnCloud9 小时前
液冷“内卷”:在局部优化与系统重构之间,寻找第三条路
服务器·人工智能·ai·计算机外设
叶之香9 小时前
CentOS/RHEL 7、8安装exfat和ntfs文件系统
linux·运维·centos
一世琉璃白_Y9 小时前
pg配置国内数据源安装
linux·python·postgresql·centos
Trouvaille ~9 小时前
【Linux】理解“一切皆文件“与缓冲区机制:Linux文件系统的设计哲学
linux·运维·服务器·操作系统·进程·文件·缓冲区