Debian Nginx SSL安全设置
以下是Debian Nginx的SSL安全设置要点:
-
证书管理
- 推荐使用Let’s Encrypt免费证书(通过Certbot工具自动获取和续签):
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com
。 - 若使用自签名证书(仅测试环境),需生成证书并配置路径:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/key.key -out /etc/nginx/ssl/cert.crt
。
- 推荐使用Let’s Encrypt免费证书(通过Certbot工具自动获取和续签):
-
配置强加密协议与套件
- 在Nginx配置文件(
/etc/nginx/sites-available/yourdomain.conf
)中添加:ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384'; ssl_prefer_server_ciphers on; ```。
- 在Nginx配置文件(
-
启用安全特性
- HSTS:强制浏览器使用HTTPS,添加以下头部:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
。 - OCSP Stapling:优化证书验证性能,配置:
ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 8.8.4.4 valid=300s;
。
- HSTS:强制浏览器使用HTTPS,添加以下头部:
-
优化性能与安全
- 启用HTTP/2(需Nginx版本≥1.9.5):
http2 on;
。 - 限制DH参数长度(增强前向保密):
ssl_dhparam /etc/nginx/ssl/dhparam.pem;
(需提前生成:openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048
)。
- 启用HTTP/2(需Nginx版本≥1.9.5):
-
权限与维护
- 确保证书文件权限正确:
sudo chmod 600 /etc/nginx/ssl/*.key
sudo chmod 644 /etc/nginx/ssl/*.crt
。 - 定期更新系统和软件,通过Certbot自动续签证书(设置定时任务):
sudo crontab -e
添加0 0 * * * certbot renew --quiet
。
- 确保证书文件权限正确:
-
验证配置
- 检查Nginx语法:
sudo nginx -t
。 - 测试SSL连接:
curl -I https://yourdomain.com
或通过SSL Labs等工具验证配置。
- 检查Nginx语法:
参考来源:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权请联系我们,一经查实立即删除!