Обновление веб-сервера nginx 1.26.0

Вышла стабильная ветка Nginx 1.26.0. В неё вошли изменения из mainline 1.25.x. Дальше в 1.26 ждут в основном исправления ошибок и уязвимостей; новая функциональность пойдёт в ветку 1.27. Если не завязаны на сторонние модули со своей сборкой, для обычной эксплуатации обычно берут стабильную ветку (на её базе раз в квартал выходит Nginx Plus).

По мартовскому отчёту Netcraft Nginx обслуживает порядка 243 млн сайтов (чуть меньше, чем годом ранее). По охвату всех сайтов он по-прежнему впереди Apache, Cloudflare и OpenResty. Среди топ-миллиона доля заметная, но год к году слегка просела.

Что нового в 1.26.0

  • Экспериментальная поддержка HTTP/3 через модуль ngx_http_v3 (QUIC вместо классической связки TCP+TLS).
  • Новая директива http2 для настройки HTTP/2; параметр http2 в listen помечен устаревшим.
  • Жёстче защита от DoS по HTTP/2: лимиты на число запросов и меры против flood.
  • В модуле stream можно конфигурировать виртуальные серверы через server_name.
  • Модуль ngx_stream_pass_module: проброс соединений в другие слушающие сокеты.
  • У listen в stream появились новые параметры управления соединениями.
  • Доработаны буферы и работа при большом числе location.
  • Убраны Server push в HTTP/2 и устаревшая директива ssl.

stream и server_name

server {
    server_name ~^(www\.)?(.+)$;
    proxy_pass www.$2:12345;
}

ngx_stream_pass_module

stream {
    server {
        listen 12345 ssl;

        ssl_certificate     domain.crt;
        ssl_certificate_key domain.key;

        pass 127.0.0.1:8000;
    }
}

Параллельно вышел стабильный FreeNginx 1.26.0, форк Nginx. Проект ведёт Максим Дунин; позиционируется как некоммерческая альтернатива без корпоративного давления.

Источники и ссылки


Комментарии загружаются…