首页 新闻资讯 行业资讯 CentOS服务器部署SSL证书流程简易化分享
CentOS服务器部署SSL证书流程简易化分享
时间 : 2025-03-28 10:54:38 编辑 : 华纳云 分类 :行业资讯 阅读量 : 24

CentOS服务器SSL证书可以保护用户数据、提升搜索引擎排名、增强挺有信任感、满足合规要求等,不少电商平台、企业官网、API服务等都愿意启用SSL证书实现HTTPS加密防止中间人攻击。为大家更了解CentOS服务器部署SSL证书的步骤,下面为大家整理关于SSL证书申请、部署和自动化管理全部简易化流程,希望对您有用。 

SSL证书的核心价值和类型选择

SSL证书利用加密客户端和服务器之间通信数据,保证了传说中隐私和完整性。SSL证书的核心价值在于:防止敏感信息(如密码、支付数据)被窃取;验证服务器真实性,避免钓鱼网站攻击;百度、谷歌等搜索引擎优先收录HTTPS站点,提升排名权重。  

SSL证书类型有域名验证DV证书、组织验证OV证书和扩展验证EV证书。DV证书只验证域名所有权,常用在个人博客或测试环境,而OV证书需要验证企业资质,适合中小型企业官网。EV证书显示绿色企业名称适合金融、电商等高安全需求场景。  

环境准备:安装Web服务器与防火墙配置  

1. 安装Apache或Nginx  

Apache安装:  

sudo yum install httpd mod_ssl         CentOS 7  
sudo dnf install httpd mod_ssl         CentOS 8+  
sudo systemctl start httpd  
sudo systemctl enable httpd  

Nginx安装:  

sudo yum install epelrelease  
sudo yum install nginx  
sudo systemctl start nginx  
sudo systemctl enable nginx  

2. 防火墙放行HTTPS流量  

sudo firewallcmd permanent addservice=http  
sudo firewallcmd permanent addservice=https  
sudo firewallcmd reload  

3. 域名解析与服务器时间校准  

确保域名已正确解析至服务器IP。  

同步时间防止证书验证失败:  

sudo yum install chrony  
sudo systemctl start chronyd  
sudo chronyc sources  

实例:手动部署商业SSL证书  

若使用付费证书(如DigiCert、GeoTrust),需手动上传并配置。  

1. 生成CSR与私钥  

openssl req newkey rsa:2048 nodes keyout example.com.key out example.com.csr  

填写国家、组织、域名等信息,生成的.csr文件需提交至证书颁发机构(CA)。  

2. 上传证书文件  

CA审核通过后,将下发以下文件:  

域名证书(.crt):如example.com.crt  

中间证书链(.cabundle):确保完整信任链  

将文件上传至服务器目录(如/etc/ssl/certs/):  

sudo mkdir p /etc/ssl/certs  
sudo cp example.com.crt /etc/ssl/certs/  
sudo cp example.com.cabundle /etc/ssl/certs/  
sudo cp example.com.key /etc/ssl/private/  
sudo chmod 600 /etc/ssl/private/example.com.key     保护私钥权限  

3. 配置Web服务器  

Apache配置:  

编辑/etc/httpd/conf.d/ssl.conf:  

apache  
<VirtualHost :443>  
ServerName example.com  
SSLEngine on  
SSLCertificateFile /etc/ssl/certs/example.com.crt  
SSLCertificateKeyFile /etc/ssl/private/example.com.key  
SSLCertificateChainFile /etc/ssl/certs/example.com.cabundle  
</VirtualHost>  

重启服务:  

sudo systemctl restart httpd  

Nginx配置:  

编辑/etc/nginx/conf.d/example.com.conf:  

nginx  
server {  
listen 443 ssl;  
server_name example.com;  
ssl_certificate /etc/ssl/certs/example.com.crt;  
ssl_certificate_key /etc/ssl/private/example.com.key;  
ssl_trusted_certificate /etc/ssl/certs/example.com.cabundle;  
}  

重启服务:  

sudo nginx t     测试配置  
sudo systemctl restart nginx  

进阶优化:提升HTTPS安全性与性能  

1. 强制HTTP跳转HTTPS  

Apache:  
apache  
<VirtualHost :80>  
ServerName example.com  
Redirect permanent / https://example.com/  
</VirtualHost>  
Nginx:  
nginx  
server {  
listen 80;  
server_name example.com;  
return 301 https://$host$request_uri;  
}  

2. 启用HSTS(HTTP严格传输安全)  

在HTTPS配置块中添加:  

apache  
Header always set StrictTransportSecurity "maxage=63072000; includeSubDomains; preload"  

或Nginx:  

nginx  
add_header StrictTransportSecurity "maxage=63072000; includeSubDomains; preload" always;  

3. 优化加密套件  

禁用弱算法,启用TLS 1.3:  

nginx  
ssl_protocols TLSv1.2 TLSv1.3;  
ssl_ciphers EECDH+AESGCM:EDH+AESGCM;  
ssl_prefer_server_ciphers on;  

自动化维护:证书续订与监控  

1. Let's Encrypt自动续订  

Certbot默认创建定时任务:  

sudo certbot renew dryrun     测试续订  
sudo systemctl listtimers | grep certbot     查看续订计划  

2. 商业证书到期提醒  

配置Cron任务:  

0 0    openssl x509 checkend 86400 noout in /etc/ssl/certs/example.com.crt || echo "证书即将过期"  

3. 监控工具集成  

使用Prometheus+Alertmanager监控证书有效期:  

yaml  
job_name: 'ssl_expiry'  
static_configs:  
targets: ['example.com:443']  

故障排查与常见问题  

1. 证书不信任  

确保中间证书链完整:

cat example.com.crt example.com.cabundle > combined.crt  

使用工具检测:

openssl verify CAfile combined.crt example.com.crt  

2. 私钥与证书不匹配  

openssl x509 noout modulus in example.com.crt | openssl md5  
openssl rsa noout modulus in example.com.key | openssl md5  

两次输出必须一致。  

3. Nginx报错“SSL_CTX_use_PrivateKey_file”  

检查私钥路径与权限(应为600)。  

确认私钥未加密:

openssl rsa in example.com.key check  

综上看来,为保证CentOS服务器配置SSL证书不管是应用Apache还是nginx,结合HSTS、加密套件优化及自动化监控都可以安全的完成HTTPS服务。

华纳云 推荐文章
评估内网专线的投资回报率的方法 内网专线和SDWAN的优劣势对比 AI时代海外大型服务器存储方案如何选 Docker搭建CentOS镜像服务器的操作方法 云服务器带宽网络和国际出口带宽区别在哪里 Linux内核是什么及内核重要性体现在哪些方面 容器是什么它在Linux中用途有哪些 通俗易懂的阐述Ubuntu启动的完整过程 Ubuntu系统的价值与挑战有哪些 Nginx的反向代理和负载均衡的区别
活动
客服咨询
7*24小时技术支持
技术支持
渠道支持