Соответствующий конфиг:
ssl_protocols TLSv1.2;
Когда я тестирую сервер в SSL Labs, тест сообщает, что TLS 1.3 доступен, и перечисляет шифры по умолчанию и другие результаты, как если бы TLSv1.3
были включены в мой конфиг.
Ubuntu Server 18.04.1, OpenSSL 1.1.1 11 сентября 2018 г., Nginx 1.14.1 построен с OpenSSL 1.1.0g
Как отключить TLSv1.3?
Nginx 1.14.1 построен с OpenSSL 1.1.0g
OpenSSL 1.1.0 не поддерживает TLS 1.3
Ubuntu Server 18.04.1, OpenSSL 1.1.1 11 сентября 2018 г.
Ubuntu 18.04.1 поставляется с OpenSSL 1.1.0g, а не с OpenSSL 1.1.1.
Я предполагаю, что вы каким-то образом установили OpenSSL 1.1.1 в своей системе таким образом, чтобы заменить версию, поставляемую с ОС. Поскольку nginx использует разделяемые библиотеки, он будет использовать установленный вами OpenSSL 1.1.1, даже если он был скомпилирован с OpenSSL 1.1.0g.
Опция ssl_protocols TLSv1.2;
в nginx не реализовано только включением TLS 1.2. Вместо этого все полезные протоколы включены по умолчанию, и ограничение TLS 1.2 фактически означает, что все, кроме TLS 1.2, будет отключено. Но он может отключать только те протоколы, о которых он знает, и, учитывая, что nginx был скомпилирован с версией OpenSSL без поддержки TLS 1.3, он не знает, что TLS 1.3 существует, а также не имеет возможности отключить его, что означает, что он остается включенным.
Глядя на комментарий:
По-видимому, версия OpenSSL установлена поверх репозитория по умолчанию, потому что я использую PHP PPA sury.org.
Чтобы исправить это, вам также необходимо установить репозиторий sury.org nginx. На момент написания эта версия nginx была построена с использованием openssl 1.1.1b и TLS 1.3, которые необходимы, если мы используем ondrej php7.3 lib, который заменяет пакет ubuntu openssl по умолчанию.
Мне пришлось сделать то же самое, что и я получал ошибку ssl ERR_SSL_VERSION_INTERFERENCE в chrome.
перед:
sudo nginx -V
built with OpenSSL 1.1.0g 2 Nov 2017 (running with OpenSSL 1.1.1b 26 Feb 2019)
выполните следующее:
sudo add-apt-repository ppa:ondrej/nginx
sudo apt update
sudo apt remove nginx
sudo apt install nginx
после:
sudo nginx -V
built with OpenSSL 1.1.1 11 Sep 2018 (running with OpenSSL 1.1.1b 26 Feb 2019)
полные инструкции здесь:
https://www.linuxbabe.com/ubuntu/enable-tls-1-3-nginx-ubuntu-18-10-18-04-16-04-14-04