Выпущены RPM- и DEB-пакеты NGINX 1.31.8 Mainline с поддержкой HTTP/3, Brotli, TLS 1.3 и OpenSSL 4.0.3 для EL7/EL8/EL9/EL10, Ubuntu 22.04/24.04

nginx 1.31.8 Mainline с поддержкой HTTP/3 добавлен в репозиторий CodeIT. http2 и ngx_cache_purge встроены, а OpenSSL динамически линкуется с официальным OpenSSL 4.0.3 с поддержкой QUIC. Модуль сжатия Brotli от Google и ngx_http_geoip2 поставляются как динамические модули — в пакетах nginx-module-brotli и nginx-module-geoip2, оба необязательны, как и остальные модули nginx-module-*. Пакеты собраны для RHEL, CentOS, AlmaLinux, Rocky Linux и Oracle Linux 7, 8, 9 и 10, а также для Ubuntu 22.04 и 24.04.

Остальные динамические модули собраны отдельно и устанавливаются по желанию: nginx-module-lua вместе с lua-resty-core и lua-resty-lrucache, nginx-module-acme для автоматических сертификатов ACMEv2, nginx-module-njs, nginx-module-perl, nginx-module-xslt и nginx-module-image-filter. Каждый пакет сам добавляет строку load_module в /etc/nginx/modules-enabled, поэтому модуль работает сразу после установки и править nginx.conf вручную не нужно. Lua и ACME собираются для EL9, EL10 и Ubuntu; для EL7 вместо них есть nginx-module-geoip, а njs, Perl, XSLT и image-filter доступны только в rpm.

Тот же выпуск есть на Docker Hub как codeitus/nginx: образ собран на AlmaLinux 9 из этих же пакетов и опубликован для amd64 и arm64:

  • самый свежий образ, из того пула, который вышел последним: docker pull codeitus/nginx
  • самый свежий образ Mainline: docker pull codeitus/nginx:mainline
  • именно этот выпуск: docker pull codeitus/nginx:1.31.8

Для HTTP/3 нужно опубликовать и UDP-порт, а не только TCP: docker run -d -p 80:80 -p 443:443 -p 443:443/udp codeitus/nginx

Основные изменения:

  • Изменение во внутреннем API: теперь JSON-парсер сообщает строки с escape-последовательностями как отдельные события, а функция ngx_json_unescape_string() декодирует строку в отдельный буфер.
  • Изменение: теперь путь, указанный в директиве «working_directory», задаётся относительно префиксного каталога nginx, но не относительно текущего каталога.
  • Исправлена ошибка: процессы рабочих могли завершаться при старте или во время перенастройки, если в директиве «working_directory» был указан неверный каталог.
  • Исправлена ошибка: процессы рабочих могли быть внезапно завершены по сигналу SIGBUS при использовании HTTP/3 на платформах с жёсткими требованиями к выравниванию.
  • Исправлена ошибка: в журналах могли появляться предупреждения «recv() failed (5: Input/output error)» при закрытии SSL-соединений, если использовался kernel TLS с OpenSSL 3.2.0 или новее.
  • Исправлена ошибка: nginx собирался на Solaris неудачно при использовании опции --with-control-api.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *