CentOS Nginx配置SSL教程

简介
SSL(Secure Sockets Layer)是一种安全协议,用于在互联网上提供数据加密、完整性验证和身份验证,在CentOS系统中,Nginx是一款高性能的HTTP和反向代理服务器,通过配置SSL,可以使网站更加安全,本文将详细介绍如何在CentOS上配置Nginx的SSL。
准备工作
- 确保已安装Nginx:
sudo yum install nginx - 获取SSL证书: 您可以从Let's Encrypt、StartSSL或其他证书颁发机构获取免费或付费的SSL证书。
配置Nginx
修改Nginx配置文件:
sudo nano /etc/nginx/nginx.conf在
http块中添加ssl模块:http { ... server { ... listen 443 ssl; ... } ... }配置SSL证书和私钥路径:

server { ... ssl_certificate /etc/nginx/ssl/cert.pem; ssl_certificate_key /etc/nginx/ssl/key.pem; ... }将
/etc/nginx/ssl/cert.pem和/etc/nginx/ssl/key.pem替换为您SSL证书和私钥的实际路径。配置SSL参数:
server { ... 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; ... }保存并退出配置文件。
重启Nginx服务
sudo systemctl restart nginx 验证SSL配置
- 在浏览器中输入您的域名,如果出现SSL证书错误,请确认证书和私钥路径是否正确。
- 使用在线SSL测试工具(如SSL Labs的SSL Test)检查SSL配置。
FAQs
Q1:如何自动续期Let's Encrypt证书? A1:您可以使用Certbot客户端来自动续期Let's Encrypt证书,安装Certbot:

sudo yum install certbot python2-certbot-nginx 运行以下命令进行证书申请和自动续期:
sudo certbot --nginx -d yourdomain.com Certbot会自动更新Nginx配置,并定期自动续期证书。
Q2:如何开启HTTP到HTTPS的强制跳转? A2:在Nginx配置文件中,添加以下代码:
server {
...
listen 80;
server_name yourdomain.com;
return 301 https://$server_name$request_uri;
...
} 这样,当用户访问HTTP版本的网站时,会被自动重定向到HTTPS版本。
