Поиск по сайту:

Как включить TLS 1.3 в Nginx


На этой странице

  1. Требования
  2. Включить 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.