Дополнительные модули

Тема дорожной карты · Nginx

Nginx построен на модульной архитектуре, позволяющей операторам расширять функциональность веб-сервера и обратного прокси далеко за пределы возможностей стандартного бинарного файла. Продвинутые модули, такие как ngx_http_lua_module, ngx_brotli, ngx_http_geoip2_module и модуль NGINX JavaScript (njs), могут подключаться как динамические модули через директиву load_module в /etc/nginx/nginx.conf, избавляя от необходимости полной перекомпиляции в современных дистрибутивах. Сторонние и сообществовые модули открывают возможности для скриптинга в реальном времени, продвинутого управления трафиком, нестандартной аутентификации и глубокой инспекции SSL/TLS, недоступные в открытом ядре. При добавлении продвинутых модулей к установке Nginx всегда проверяйте совместимость ABI, сопоставляя версию сборки модуля с версией запущенного Nginx, и проверяйте конфигурацию командой nginx -t перед перезагрузкой. Выбор правильного набора продвинутых модулей — ключ к созданию высокопроизводительного, многофункционального развёртывания Nginx для продакшен-окружений.

Как это работает

Дополнительные модули покрывает third-party модули: ngx_brotli (сжатие), ngx_http_geoip2 (GeoIP-решения), ngx_pagespeed (HTTP-оптимизация, upstream deprecated — см. Google PageSpeed Insights), ngx_http_lua (OpenResty — Lua-скриптинг внутри nginx), ngx_http_secure_link (подписанные URL), ModSecurity (WAF), naxsi (WAF проще). OpenResty пакетирует nginx + Lua + много модулей — частая основа для API-шлюзов (Kong, APISIX).

Когда применять

OpenResty — когда нужна реальная программируемость в request-пути (кастомная auth, продвинутый rate limit, динамический routing); Lua быстр + безопасен внутри nginx. ModSecurity или naxsi — когда WAF обязателен по compliance (PCI-DSS); но CDN с встроенным WAF (Cloudflare, Yandex Cloud Smart Web Security) обычно проще. ngx_brotli — для лучшего сжатия текста.

Типичные ошибки

Ловушки Дополнительные модули: сложная Lua в OpenResty, которую никто в команде не дебажит (knowledge silo); ModSecurity rule sets, блокирующие легитимный трафик (false positives — тюньте осторожно); кастомные модули требуют пересборки nginx (используйте distro-пакеты или Docker-образы с ними).

Связанные понятия

Полезные ресурсы