NGINX с поддержкой HTTP/3 / QUIC для CentOS 7

Мы сделали и протестировали сборки nginx с поддержкой модуля http v3 (ex-QUIC) и для CentOS 7. Для установки нужно в дополнение к основному установить и включить тестовый репозиторий:

yum install -y https://repo.codeit.guru/codeit-repo-release.el7.rpm epel-release && yum-config-manager --enable CodeIT-testing --save

Пример конфигурации работающего HTTP/3 на порту 443/UDP см. в /etc/nginx/conf.d/default-ssl.conf.example!

Собранный тестовый пакет имеет версию 1.26.1-2, но определяется самим nginx binary как 1.27.1.

NGINX с поддержкой HTTP/3 / QUIC

Мы начали сборку nginx с поддержкой модуля http v3 (ex-QUIC) для CentOS 8 / RHEL 8/ AlmaLinux 8 / Rocky Linux 8.

Для установки нужно в дополнение к основному установить и включить тестовый репозиторий:

yum install -y https://repo.codeit.guru/codeit-repo-release.el8.rpm epel-release && yum-config-manager --enable CodeIT-testing --save

Пример конфигурации работающего HTTP/3 на порту 443/UDP см. в /etc/nginx/conf.d/default-ssl.conf.example!

Собранный тестовый пакет имеет версию 1.26.1-1, но определяется самим nginx binary как 1.27.1.

Пакеты OpenSSL+quic

Мы начали предоставлять собранные пакеты для проекта OpenSSL+quic (инициатива Akamai и Microsoft) для EL7/EL8. Это позволит поставлять нам пакеты NGINX с поддержкой HTTP/3 (ex-QUIC). Пакет libs не конфликтует с установленной ОС: в нём к версии библиотек добавлен префикс «81.»: libssl.81.1.1 и libcrypto.81.1.1 вместо штатных libssl.1.1 и libcrypto.1.1.

Для инсталляции запустите: dnf install openssl-quic-libs

Пакеты для разработки также доступны: openssl-quic-devel.

Apache httpd 2.4.53, собранный с Brotli, TLS 1.3 final (RFC 8446), OpenSSL 1.1.1m, ALPN и поддержкой http2 для Rocky Linux, Red Hat Enterprise Linux, Alma Linux и CentOS

В репозиторий добавлен Apache httpd 2.4.53-1 с поддержкой сжатия brotli от Google, mod_http2 2.0.2 для Red Hat Enterprise Linux, Rocky Linux, Alma Linux и CentOS. Mod_ssl собран динамически с OpenSSL 1.1.1m.
Ссылки:

Заметим, что httpd 2.4.53 поддерживает TLS 1.3 при сборке с OpenSSL 1.1.1. Все новые шифры включены и работают.
C версии 2.4.43-4 мы собираем OpenSSL отдельно, он устанавливается в /opt/codeit/openssl111 и никак не затрагивает системные библиотеки.

TLS 1.3 final на сегодня работает в Google Chrome 70+ и Mozilla Firefox 63+.

Для работы с SELinux в rpm включена соответствующая минимальная политика.

Модуль brotli уже включён в базовый RPM. Всё, что нужно — настроить фильтр

AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript

NGINX 1.21.6 mainline собранный с Brotli, TLS 1.3 final (RFC 8446), OpenSSL 1.1.1m, поддержкой http2 для Red Hat Enterprise Linux и CentOS

В репозиторий добавлены NGINX 1.21.6 mainline версий, с поддержкой сжатия brotli от Google, http2, ngx cache purge и ngx http geoip2 module. ssl собран динамически с OpenSSL 1.1.1m. TLS 1.3 final на сегодня работает в Google Chrome 70+ и Mozilla Firefox 63+. Для включения TLS 1.3 надо указать:

ssl_protocols TLSv1.2 TLSv1.3;

С версии 1.21.6 доступна сборка под EL8.

C версии 1.18.0 для Centos мы собираем OpenSSL отдельно, он устанавливается в /opt/codeit/openssl111 и никак не затрагивает системные библиотеки.

NGINX 1.20.2 stable собранный с Brotli, TLS 1.3 final (RFC 8446), OpenSSL 1.1.1k, поддержкой http2 для Red Hat Enterprise Linux и CentOS

В репозиторий добавлены NGINX 1.20.2 stable версий, с поддержкой сжатия brotli  от Google, http2, ngx cache purge и ngx http geoip2 module. ssl собран динамически с OpenSSL 1.1.1k.

TLS 1.3 final на сегодня работает в Google Chrome 70+ и Mozilla Firefox 63+.

Для включения TLS 1.3 надо указать:

ssl_protocols TLSv1.2 TLSv1.3;

C версии 1.18.0 для Centos 7 мы собираем OpenSSL отдельно, он устанавливается в /opt/codeit/openssl111 и никак не затрагивает системные библиотеки.

Apache httpd 2.4.52, собранный с Brotli, TLS 1.3 final (RFC 8446), OpenSSL 1.1.1l, ALPN и поддержкой http2 для Rocky Linux, Red Hat Enterprise Linux, Alma Linux и CentOS

В репозиторий добавлен Apache httpd 2.4.52-1 с поддержкой сжатия brotli от Google, mod_http2 2.0.2 для Red Hat Enterprise Linux, Rocky Linux, Alma Linux и CentOS. Mod_ssl собран динамически с OpenSSL 1.1.1l.
Ссылки:

Заметим, что httpd 2.4.52 поддерживает TLS 1.3 при сборке с OpenSSL 1.1.1. Все новые шифры включены и работают.
C версии 2.4.43-4 мы собираем OpenSSL отдельно, он устанавливается в /opt/codeit/openssl111 и никак не затрагивает системные библиотеки.

TLS 1.3 final на сегодня работает в Google Chrome 70+ и Mozilla Firefox 63+.

Для работы с SELinux в rpm включена соответствующая минимальная политика.

Модуль brotli уже включён в базовый RPM. Всё, что нужно — настроить фильтр

AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript

RHEL 8 / Alma Linux 8 / Rocky Linux 8 / CentOS 8 / Other EL8 тестовый репозиторий

Репозиторий EL8 открыт для тестирования:

cd /etc/yum.repos.d && wget https://repo.codeit.guru/codeit.el8.repo && yum install -y epel-release

Пожалуйста, делайте бэкапы и запускайте эти пакеты только на тестовых нодах.

Apache httpd 2.4.50-1, собранный с Brotli, TLS 1.3 final (RFC 8446), OpenSSL 1.1.1l, ALPN и поддержкой http2 для Red Hat Enterprise Linux и CentOS

В репозиторий добавлен Apache httpd 2.4.50-1 с поддержкой сжатия brotli от Google, mod_http2 1.15.24 для Red Hat Enterprise Linux и CentOS. Mod_ssl собран динамически с OpenSSL 1.1.1l.
Ссылки:

Заметим, что httpd 2.4.50 поддерживает TLS 1.3 при сборке с OpenSSL 1.1.1. Все новые шифры включены и работают.
C версии 2.4.43-4 мы собираем OpenSSL отдельно, он устанавливается в /opt/codeit/openssl111 и никак не затрагивает системные библиотеки.

TLS 1.3 final на сегодня работает в Google Chrome 70+ и Mozilla Firefox 63+.

Для работы с SELinux в rpm включена соответствующая минимальная политика.

Модуль brotli уже включён в базовый RPM. Всё, что нужно — настроить фильтр

AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript

Apache httpd 2.4.49-1, собранный с Brotli, TLS 1.3 final (RFC 8446), OpenSSL 1.1.1l, ALPN и поддержкой http2 для Red Hat Enterprise Linux и CentOS

В репозиторий добавлен Apache httpd 2.4.49-1 с поддержкой сжатия brotli от Google, mod_http2 1.15.24 для Red Hat Enterprise Linux и CentOS. Mod_ssl собран динамически с OpenSSL 1.1.1l.
Ссылки:

В этой сборке отсутствует multiproxy patch от RedHat из-за переработки mod_ssl.

Заметим, что httpd 2.4.49 поддерживает TLS 1.3 при сборке с OpenSSL 1.1.1. Все новые шифры включены и работают.
C версии 2.4.43-4 мы собираем OpenSSL отдельно, он устанавливается в /opt/codeit/openssl111 и никак не затрагивает системные библиотеки.

TLS 1.3 final на сегодня работает в Google Chrome 70+ и Mozilla Firefox 63+.

Для работы с SELinux в rpm включена соответствующая минимальная политика.

Модуль brotli уже включён в базовый RPM. Всё, что нужно — настроить фильтр

AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript