Configuração relevante:
ssl_protocols TLSv1.2;
Quando testo o servidor no SSL Labs, o teste informa que o TLS 1.3 está disponível e lista as cifras padrão e outros resultados como se TLSv1.3
estivessem incluídos no meu config.
Ubuntu Server 18.04.1, OpenSSL 1.1.1 11 de setembro de 2018, Nginx 1.14.1 construído com OpenSSL 1.1.0g
Como posso desabilitar o TLSv1.3?
OpenSSL 1.1.0 não suporta TLS 1.3
Ubuntu 18.04.1 vem com OpenSSL 1.1.0g não com OpenSSL 1.1.1.
Meu palpite é que você de alguma forma instalou o OpenSSL 1.1.1 em seu sistema de uma forma que substituiu a versão que vem com o sistema operacional. Como o nginx usa bibliotecas compartilhadas, ele usará o OpenSSL 1.1.1 que você instalou mesmo que tenha sido compilado no OpenSSL 1.1.0g.
A opção
ssl_protocols TLSv1.2;
no nginx não é implementada apenas habilitando o TLS 1.2. Em vez disso, todos os protocolos úteis são habilitados por padrão e restringi-lo ao TLS 1.2 significa efetivamente que tudo, exceto o TLS 1.2, fica desabilitado. Mas, ele só pode desabilitar os protocolos que conhece e, como o nginx foi compilado em uma versão OpenSSL sem suporte a TLS 1.3, ele não sabe que o TLS 1.3 existe e também não tem como desativá-lo, o que significa que ele permanece habilitado.Olhando o comentário:
Para corrigir, você também precisa instalar a versão repo sury.org do nginx. No momento da escrita, esta versão do nginx é construída com openssl 1.1.1be TLS 1.3 que é necessário se usarmos a lib ondrej php7.3 que substitui o pacote openssl padrão do ubuntu.
eu tive que fazer o mesmo que estava recebendo um erro ssl ERR_SSL_VERSION_INTERFERENCE no chrome.
antes da:
execute o seguinte:
depois:
instruções completas aqui:
https://www.linuxbabe.com/ubuntu/enable-tls-1-3-nginx-ubuntu-18-10-18-04-16-04-14-04