http3

Директива http3 включает поддержку протокола HTTP/3 в NGINX. — NGINX HTTP Core

http3
httpserver
Синтаксисhttp3 on | off;
По умолчаниюoff
Контекстhttp, server
МодульNGINX HTTP Core
Аргументыflag

Описание

Директива `http3` позволяет NGINX поддерживать протокол HTTP/3, который является третьей основной версией Hypertext Transfer Protocol. HTTP/3 построен поверх QUIC, сетевого протокола транспортного уровня, изначально разработанного Google. Эта директива, если она установлена в 'on', позволяет серверу обрабатывать запросы по HTTP/3, используя мультиплексирование потоков и обеспечивая повышенную производительность по сравнению с традиционными протоколами HTTP/2 и HTTP/1.1. При включении NGINX взаимодействует с клиентами, поддерживающими HTTP/3, предоставляя им преимущества уменьшенной задержки и большей устойчивости соединения благодаря уникальным возможностям QUIC, таким как установление соединения с 0RTT и лучшее восстановление при потере пакетов. Директиву можно разместить как в контекстах `http`, так и `server`, что позволяет задать конфигурацию глобально или для конкретного сервера. Установив директиву в 'on', сервер будет пытаться использовать HTTP/3 для поддерживающих клиентов, одновременно продолжая обслуживать остальных с помощью старых протоколов. Это делает переход на новые версии протоколов более плавным, не полностью прерывая поддержку существующих протоколов. Кроме того, требуется корректная настройка TLS/SSL, поскольку HTTP/3 опирается на зашифрованные соединения, поэтому перед развертыванием этой директивы важно установить соответствующие сертификаты.

Пример конфига

server {
    listen 443 ssl;
    http3 on;
    ssl_certificate /etc/nginx/ssl/example.crt;
    ssl_certificate_key /etc/nginx/ssl/example.key;
}

Убедитесь, что QUIC правильно включён на сервере и что необходимые порты открыты (обычно UDP 443).

Убедитесь, что сертификаты SSL настроены правильно, поскольку HTTP/3 требует зашифрованных соединений.

Проверьте, что ваши клиенты поддерживают HTTP/3, так как старые клиенты перейдут на HTTP/2 или HTTP/1.1.