在Debian系统上配置Nginx以使用SSL证书链,你需要确保你的证书文件包括服务器证书、中间证书和根证书。以下是配置Nginx以使用SSL证书链的步骤:
获取SSL证书文件:
服务器证书(通常以.crt
或.pem
结尾)中间证书(可能有多个,也需要.crt
或.pem
结尾)根证书(通常以.crt
或.pem
结尾)将证书文件放到服务器上的一个目录中:例如,你可以将它们放在/etc/nginx/ssl/
目录下。
编辑Nginx配置文件:打开Nginx的配置文件,通常位于/etc/nginx/sites-available/
目录下。如果你使用的是默认站点配置,文件可能是default
或default.conf
。
sudo nano /etc/nginx/sites-available/default
配置SSL:在server
块中添加或修改以下配置:
server {listen 443 ssl;server_name yourdomain.com www.yourdomain.com;ssl_certificate /etc/nginx/ssl/yourdomain.com.crt; # 服务器证书ssl_certificate_key /etc/nginx/ssl/yourdomain.com.key; # 服务器私钥ssl_trusted_certificate /etc/nginx/ssl/ca-bundle.crt; # 中间证书和根证书的组合# 其他SSL配置选项...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;# 其他配置...}
在上面的配置中,ssl_trusted_certificate
指令用于指定包含中间证书和根证书的文件。如果你的中间证书和根证书是分开的,你需要将它们合并到一个文件中。
合并中间证书和根证书(如果需要):如果你的中间证书和根证书是分开的,你可以使用以下命令将它们合并到一个文件中:
cat /etc/nginx/ssl/intermediate.crt /etc/nginx/ssl/root.crt > /etc/nginx/ssl/ca-bundle.crt
确保替换intermediate.crt
和root.crt
为你的实际中间证书和根证书文件名。
检查Nginx配置:在重新加载Nginx之前,使用以下命令检查配置文件是否有语法错误:
sudo nginx -t
重新加载Nginx:如果配置文件检查通过,重新加载Nginx以应用更改:
sudo systemctl reload nginx
测试SSL配置:使用SSL实验室的SSL服务器测试工具或其他在线服务来测试你的SSL配置是否正确。
请注意,SSL配置可能会随着时间的推移而变化,因此建议定期检查并更新你的证书和配置。