要在 Nginx 配置中禁用不安全的 SSL 协议(如 TLSv1 和 TLSv1.1),并仅启用更安全的协议(如 TLSv1.2 和 TLSv1.3),您可以更新您的 Nginx 配置文件。下面是一个示例配置:
nginx
# 位于 Nginx 配置文件 (通常是 /etc/nginx/nginx.conf 或者在特定站点的配置文件中 /etc/nginx/sites-available/your-site) 中
server {
listen 443 ssl;
server_name your-domain.com;
ssl_certificate /path/to/your/certificate.crt;
ssl_certificate_key /path/to/your/private.key;
# 启用 TLSv1.2 和 TLSv1.3,禁用 TLSv1 和 TLSv1.1
ssl_protocols TLSv1.2 TLSv1.3;
# 使用安全的加密套件
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256';
ssl_prefer_server_ciphers on;
# 其他 SSL 配置
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_dhparam /path/to/dhparam.pem;
# 其他 Nginx 配置
location / {
proxy_pass http://your_backend_server;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
在这个配置中:
ssl_protocols TLSv1.2 TLSv1.3;
明确地禁用了 TLSv1 和 TLSv1.1。ssl_ciphers
指定了一些安全的加密套件。ssl_prefer_server_ciphers on;
配置 Nginx 使用服务器优选的加密套件。
确保你已经生成了 dhparam.pem
文件,可以通过以下命令生成:
bash
openssl dhparam -out /path/to/dhparam.pem 2048
完成配置后,重启 Nginx 以应用更改:
bash
sudo systemctl restart nginx
这样,您的 Nginx 服务器将只允许更安全的 TLSv1.2 和 TLSv1.3 协议,并且禁用不安全的 TLSv1 和 TLSv1.1。