Как включить TLS 1.3 в Nginx
На этой странице
- Требования
- Включить TLS 1.3 в Nginx.
Transport Layer Security (TLS) 1.3 — это последняя версия протокола Transport Layer Security (TLS), опубликованная в качестве стандарта IETF в RFC 8446 в августе 2018 года. Протокол TLS 1.3 обеспечивает повышение конфиденциальности и производительности по сравнению с предыдущими версиями TLS и другими версиями. -безопасный HTTP.
Начиная с версии 1.13.0, в Nginx добавлена поддержка TLS 1.3. В настоящее время большинство дистрибутивов Linux не содержат необходимых версий Nginx и OpenSSL в репозиториях программного обеспечения по умолчанию, поэтому вам, вероятно, придется самостоятельно скомпилировать Nginx для OpenSSL 1.1.1+. Единственными дистрибутивами Linux, имеющими встроенную поддержку TLS 1.3, являются Ubuntu 18.10, Fedora 29 и Debian 10 (еще не выпущенные на сегодняшний день). Если вам нужно руководство по компиляции Nginx из исходного кода, вы можете следовать этой последней версии OpenSSL, ознакомьтесь с этим руководством. В этом руководстве я предполагаю, что у вас уже есть работающая конфигурация TLS, и вы скомпилировали Nginx для OpenSSL 1.1.1+, следуя моему связанному руководству, и вы знаете, как использовать Lets Encrypt, или знаете, как самостоятельно подписанный сертификат.
Требования
Чтобы включить TLS 1.3 в Nginx, вам необходимо выполнить следующие требования:
- Nginx версии
1.13.0
или выше, созданной для OpenSSL 1.1.1 или выше. - Действительный сертификат TLS или самозаверяющий. Вы можете получить бесплатную версию от Lets Encrypt.
Включить TLS 1.3 в Nginx
Чтобы включить TLS 1.3 в Nginx, просто добавьте параметр TLSv1.3
в директиву ssl_protocols
.
ssl_protocols TLSv1.2 TLSv1.3;
И перезагрузите конфигурацию Nginx:
sudo systemctl reload nginx.service
Это все, что нужно сделать, когда дело доходит до настройки Nginx. Всего одно простое изменение, и TLS 1.3 должен работать.
Вот минимальная конфигурация виртуального сервера для TLS 1.3, которая может выглядеть примерно так:
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name example.com;
root /var/www/example.com/public;
ssl_certificate /path/to/your/certificate.crt;
ssl_certificate_key /path/to/your/private.key;
ssl_protocols TLSv1.2 TLSv1.3;
}
Чтобы проверить, поддерживает ли ваш сервер TLS 1.3, вы можете использовать инструменты разработки браузера или тест сервера SSLLabs. Ниже приведены скриншоты из браузера Google Chrome, показывающие TLS 1.3 в действии.
И это все, что нужно для включения TLS 1.3 на вашем сервере Nginx.