要配置NGINX的SSL版本,需要在nginx.conf文件中设置ssl_protocols指令。以下是详细的配置说明和案例分析:

1. 配置说明

  • ssl_protocols:用于指定支持的SSL/TLS协议版本。

    • 支持的协议:TLSv1, TLSv1.1, TLSv1.2, TLSv1.3

    • 注意:TLSv1.3仅在NGINX 1.13.0及以上版本中支持。

2. 案例分析

案例1:启用TLSv1.2和TLSv1.3

server {
    listen 443 ssl;
    server_name example.com;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_certificate /etc/nginx/ssl/example.com.crt;
    ssl_certificate_key /etc/nginx/ssl/example.com.key;

    location / {
        root /var/www/html;
        index index.html;
    }
}

说明:

  • ssl_protocols TLSv1.2 TLSv1.3; 表示只启用TLSv1.2和TLSv1.3协议。

  • 其他配置如ssl_certificatessl_certificate_key用于指定SSL证书和私钥。

案例2:禁用不安全的TLSv1和TLSv1.1

server {
    listen 443 ssl;
    server_name secure.example.com;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_certificate /etc/nginx/ssl/secure.example.com.crt;
    ssl_certificate_key /etc/nginx/ssl/secure.example.com.key;

    location / {
        root /var/www/html;
        index index.html;
    }
}

说明:

  • ssl_protocols TLSv1.2 TLSv1.3; 禁用TLSv1和TLSv1.1,仅启用TLSv1.2和TLSv1.3以提高安全性。

案例3:旧版本兼容性配置

server {
    listen 443 ssl;
    server_name legacy.example.com;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_certificate /etc/nginx/ssl/legacy.example.com.crt;
    ssl_certificate_key /etc/nginx/ssl/legacy.example.com.key;

    location / {
        root /var/www/html;
        index index.html;
    }
}

说明:

  • ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 启用TLSv1、TLSv1.1和TLSv1.2,用于兼容旧版本的客户端。

3. 注意事项

  • 确保使用的NGINX版本支持指定的SSL/TLS协议。

  • 定期更新SSL证书和密钥,确保安全性。

  • 在启用新的SSL/TLS协议版本后,建议使用工具(如SSL Labs)进行测试,确保配置正确。

以上是NGINX SSL版本配置的详细说明及案例分析。

本篇文章内容来源于:nginx ssl版本配置详细说明以及案例