阅读量:2
CentOS域名SSL证书安装指南(以Nginx为例)
一、准备工作
- 更新系统:运行
sudo yum update -y确保系统软件包为最新版本。 - 安装必要工具:根据需求选择自签名证书(测试用)或Let’s Encrypt免费证书(生产推荐)。
二、安装自签名SSL证书(测试用途)
1. 生成私钥与证书
使用OpenSSL生成有效期10年的自签名证书(替换yourdomain.com为实际域名):
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \
-keyout /etc/pki/tls/private/yourdomain.com.key \
-out /etc/pki/tls/certs/yourdomain.com.crt
- 交互提示:依次填写国家、省份、组织名称等信息(均为可选,但需保持一致性)。
2. 配置Nginx启用SSL
编辑Nginx配置文件(如/etc/nginx/conf.d/default.conf),添加以下server块:
server {
listen 443 ssl;
server_name yourdomain.com www.yourdomain.com;
ssl_certificate /etc/pki/tls/certs/yourdomain.com.crt;
ssl_certificate_key /etc/pki/tls/private/yourdomain.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
root /var/www/html;
index index.html index.htm;
}
}
3. 强制HTTP跳转HTTPS(可选但推荐)
添加以下server块到配置文件顶部,将所有HTTP请求重定向至HTTPS:
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
return 301 https://$host$request_uri;
}
4. 重启Nginx并验证
sudo systemctl restart nginx
- 验证步骤:浏览器访问
https://yourdomain.com,确认地址栏显示锁形图标(自签名证书会提示“不安全”,仅测试用)。
三、安装Let’s Encrypt免费证书(生产推荐)
1. 安装Certbot及Nginx插件
sudo yum install epel-release -y # 启用EPEL仓库
sudo yum install certbot python3-certbot-nginx -y # 安装Certbot及Nginx插件
2. 获取并自动配置证书
运行Certbot命令,指定域名(支持多域名,用-d分隔):
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
- 交互流程:输入邮箱(用于证书过期提醒)、同意服务条款,Certbot会自动修改Nginx配置并重启服务。
3. 验证自动续期
Let’s Encrypt证书有效期90天,Certbot会自动设置cron任务续期。手动测试续期:
sudo certbot renew --dry-run
- 无报错则表示自动续期功能正常。
四、常见问题排查
- 端口443未开放:若无法访问HTTPS,运行
sudo firewall-cmd --add-service=https --permanent并sudo firewall-cmd --reload开放端口。 - 证书路径错误:检查Nginx配置中的
ssl_certificate和ssl_certificate_key路径是否与生成证书的路径一致。 - Certbot插件未安装:若使用Apache,需将
python3-certbot-nginx替换为python3-certbot-apache。
通过以上步骤,即可在CentOS上完成域名SSL证书的安装与配置。生产环境建议优先使用Let’s Encrypt证书,兼顾安全性与便捷性。
以上就是关于“CentOS域名SSL证书安装指南”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm