本文记录如何为阿里云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:
输入 Y
或 N
根据个人意愿选择,不影响证书申请。
第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
后续添加新的二级域名时:
-
先在Nginx中配置好新域名
-
运行:
certbot --nginx
-
在域名选择步骤中选中新域名即可
常见问题
1. Nginx插件未安装
错误信息:The requested nginx plugin does not appear to be installed
解决方案:重新安装插件
yum install -y python3-certbot-nginx
2. 证书覆盖多个域名
Certbot会自动扫描Nginx配置中的所有域名,可以一次性为多个域名配置SSL。
验证效果
配置完成后,访问你的网站:
-
http://你的域名
会自动跳转到https://你的域名
-
浏览器地址栏显示安全锁图标