在CentOS上启用Nginx的SSL加密,你需要按照以下步骤操作:
获取SSL证书:
安装Certbot: 如果你的系统还没有安装Certbot,可以使用以下命令安装:
sudo yum install epel-release
sudo yum install certbot python2-certbot-nginx
获取并安装SSL证书: 使用Certbot获取SSL证书。运行以下命令并按照提示操作:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
将yourdomain.com
和www.yourdomain.com
替换为你的域名。Certbot会自动配置Nginx并重启服务以应用更改。
测试配置:
Certbot在安装证书后会提供一个测试URL(通常是https://yourdomain.com/letsencrypt-status
),你可以通过访问这个URL来测试SSL配置是否正确。
自动续期: Let’s Encrypt的证书有效期为90天,Certbot可以设置自动续期。确保你的系统时间和时区设置正确,以便Certbot能够按时续期证书。
手动配置Nginx(可选):
如果你想手动配置Nginx来使用SSL,可以编辑Nginx的配置文件(通常位于/etc/nginx/nginx.conf
或/etc/nginx/conf.d/
目录下的某个文件)。添加或修改以下内容:
server {
listen 443 ssl;
server_name yourdomain.com www.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:!DSS';
ssl_prefer_server_ciphers on;
# 其他配置...
location / {
root /var/www/html;
index index.html index.htm;
}
}
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
return 301 https://$host$request_uri;
}
确保将yourdomain.com
和www.yourdomain.com
替换为你的域名,并根据需要调整其他配置。
重启Nginx: 保存配置文件后,重启Nginx以应用更改:
sudo systemctl restart nginx
完成以上步骤后,你的Nginx服务器应该已经成功启用了SSL加密。