CentOS 加 SSL:配置与优化指南

简介 随着互联网的发展,网络安全越来越受到重视,SSL(Secure Sockets Layer)协议是一种用于在互联网上安全传输数据的协议,它可以帮助保护网站免受中间人攻击和数据泄露,CentOS 作为一款流行的开源操作系统,配置 SSL 可以增强网站的安全性,本文将详细介绍如何在 CentOS 上配置 SSL。
准备工作 在开始配置 SSL 之前,请确保以下准备工作已完成:
- 已安装 Apache 或 Nginx 服务器。
- 已获取 SSL 证书(可以从证书颁发机构购买或使用 Let's Encrypt 免费证书)。
使用 Apache 配置 SSL
安装 Apache 服务器(如果尚未安装):
sudo yum install httpd
生成自签名证书(仅用于测试):
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/conf.d/ssl.key/myserver.key -out /etc/httpd/conf.d/ssl.crt/myserver.crt
配置 Apache 服务器以使用 SSL:
sudo vi /etc/httpd/conf.d/ssl.conf
在 ssl.conf 文件中添加以下内容:

<VirtualHost *:443> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ServerName www.example.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/httpd/conf.d/ssl.crt/myserver.crt SSLCertificateKeyFile /etc/httpd/conf.d/ssl.key/myserver.key SSLCertificateChainFile /etc/httpd/conf.d/ssl.crt/myserver.ca-bundle </VirtualHost>重启 Apache 服务以应用配置:
sudo systemctl restart httpd
使用 Nginx 配置 SSL
安装 Nginx 服务器(如果尚未安装):
sudo yum install nginx
配置 Nginx 服务器以使用 SSL:
sudo vi /etc/nginx/conf.d/default.conf
在 default.conf 文件中添加以下内容:
server { listen 443 ssl; server_name www.example.com; ssl_certificate /etc/nginx/ssl/myserver.crt; ssl_certificate_key /etc/nginx/ssl/myserver.key; ssl_session_timeout 1d; ssl_session_cache shared:SSL:50m; ssl_session_tickets off; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384'; ssl_prefer_server_ciphers on; location / { root /usr/share/nginx/html; index index.html index.htm; } }重启 Nginx 服务以应用配置:
sudo systemctl restart nginx
优化 SSL 配置

使用 Let's Encrypt 免费证书替换自签名证书:
- 安装 Certbot:
sudo yum install certbot python2-certbot-apache
- 运行 Certbot:
sudo certbot --apache
- 根据提示完成证书申请和配置。
- 安装 Certbot:
优化 SSL 配置以提高性能:
- 在 Apache 中,可以使用
mod_ssl的SSLCompression模块来启用压缩。 - 在 Nginx 中,可以使用
ssl压缩指令来启用压缩。
- 在 Apache 中,可以使用
FAQs
问题:如何检查 SSL 配置是否正确?
- 解答: 可以使用在线工具如 SSL Labs 的 SSL Test 来检查 SSL 配置,只需输入您的域名,即可获得详细的 SSL 配置评分和建议。
问题:如何查看 SSL 证书的有效期?
- 解答: 可以使用以下命令查看 SSL 证书的有效期:
openssl x509 -enddate -noout -in /etc/httpd/conf.d/ssl.crt/myserver.crt
或者
openssl x509 -enddate -noout -in /etc/nginx/ssl/myserver.crt
- 解答: 可以使用以下命令查看 SSL 证书的有效期:

