在开始配置HTTPS之前,请确保已完成以下准备工作:
sudo yum install mod_ssl openssl
将获取的证书文件(通常包括.crt和.key文件)上传到服务器,建议存放在:
/etc/pki/tls/certs/ # 证书文件
/etc/pki/tls/private/ # 私钥文件
编辑主配置文件:
sudo vi /etc/httpd/conf.d/ssl.conf
主要修改以下部分:
<VirtualHost _default_:443>
ServerName yourdomain.com:443
DocumentRoot "/var/www/html"
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:!aNULL:!MD5
SSLCertificateFile /etc/pki/tls/certs/yourdomain.crt
SSLCertificateKeyFile /etc/pki/tls/private/yourdomain.key
SSLCertificateChainFile /etc/pki/tls/certs/chain.crt # 如果有中间证书
</VirtualHost>
sudo systemctl restart httpd
sudo yum install nginx openssl
同样将证书文件上传到适当位置。
编辑配置文件:
sudo vi /etc/nginx/conf.d/yourdomain.conf
添加以下内容:
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate /etc/nginx/ssl/yourdomain.crt;
ssl_certificate_key /etc/nginx/ssl/yourdomain.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
sudo systemctl restart nginx
确保防火墙允许HTTPS流量(端口443):
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
配置完成后,使用以下工具测试配置:
- Qualys SSL Labs测试:https://www.ssllabs.com/ssltest/
- 命令行测试:openssl s_client -connect yourdomain.com:443
通过以上步骤和注意事项,您可以在CentOS上成功配置安全可靠的HTTPS服务。