小钧极客

NGINX启用TLS1.3

tls1.png

在nginx中启用TLSv1.3

我们到网站的 nginx 配置中,找到如下的配置:

ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

我们只需要把 TLSv1.3 加到 ssl_protocols 后面即可:

ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;

保存并重启nginx。

验证nginx是否支持TLS 1.3

我们可以通过 nginx -t 命令来验证nginx是否支持TLS 1.3:

如果nginx支持TLS 1.3,将会输出下面的信息

[root@iteblog.com ~]$ nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

如果nginx不支持TLS 1.3,将会输出下面的信息

[root@iteblog.com /data/log]$  nginx -t
nginx: [warn] invalid value "TLSv1.3" in /etc/nginx/conf.d/default.conf:12
nginx: configuration file /etc/nginx/nginx.conf test failed

现在你已经在nginx正确地启用了TLS 1.3;但是遗憾的是,目前还好多类库尚不支持TLS 1.3,比如 OpenSSL。也就是说,虽然我们在nginx启用了TLS 1.3,但实际上最终网站还是使用TLS 1.2 及以下版本进行连接,要等到所有的OS和类库支持TLS 1.3,或许还得等一段时间。

未经允许不得转载:小钧极客 » NGINX启用TLS1.3

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址