Модуль ngx_http_upstream_conf_module позволяет оперативно настраивать группы серверов при помощи простого HTTP-интерфейса без необходимости перезапуска nginx. Группа серверов http или stream должна находиться в разделяемой памяти. Этот модуль был доступен как часть коммерческой подписки до версии 1.13.10. Модуль был заменён модулем ngx_http_api_module в версии 1.13.3. Пример конфигурации upstream backend { zone upstream_backend 64k; … } server { location /upstream_conf { upstream_conf; allow 127.0.0.1; deny all;…
Модуль ngx_http_upstream_module позволяет описывать группы серверов, которые могут использоваться в директивах proxy_pass, fastcgi_pass, uwsgi_pass, scgi_pass, memcached_pass и grpc_pass. Пример конфигурации upstream backend { server backend1.example.com weight=5; server backend2.example.com:8080; server unix:/tmp/backend3; server backup1.example.com:8080 backup; server backup2.example.com:8080 backup; } server { location / { proxy_pass http://backend; } } Динамически настраиваемая группа с периодическими проверками работоспособности доступна как часть коммерческой подписки: resolver 10.0.0.1; upstream dynamic { zone upstream_dynamic 64k; server…
Модуль ngx_http_memcached_module позволяет получать ответ из сервера memcached. Ключ задаётся в переменной $memcached_key. Ответ в memcached должен быть предварительно помещён внешним по отношению к nginx’у способом. Пример конфигурации server { location / { set $memcached_key «$uri?$args»; memcached_pass host:11211; error_page 404 502 504 = @fallback; } location @fallback { proxy_pass http://backend; } } Директивы Синтаксис: memcached_bind адрес [transparent ] | off; Умолчание: —…
Модуль ngx_http_flv_module обеспечивает серверную поддержку псевдо-стриминга для файлов Flash Video (FLV). Он специальным образом обрабатывает запросы с аргументом start в строке запроса, посылая в ответ содержимое файла с запрошенного смещения в байтах, добавив перед ним FLV-заголовок. По умолчанию этот модуль не собирается, его сборку необходимо разрешить с помощью конфигурационного параметра —with-http_flv_module. Пример конфигурации location ~ \.flv$ { flv; } Директивы…
Модуль ngx_http_gzip_module — это фильтр, сжимающий ответ методом gzip, что позволяет уменьшить размер передаваемых данных в 2 и более раз. При использовании протокола SSL/TLS сжатые ответы могут быть подвержены атакам BREACH. Пример конфигурации gzip on; gzip_min_length 1000; gzip_proxied expired no-cache no-store private auth; gzip_types text/plain application/xml; Для записи в лог достигнутого коэффициента сжатия можно использовать переменную $gzip_ratio. Директивы Синтаксис:…
Модуль ngx_http_geoip_module (0.8.6+) создаёт переменные, значения которых зависят от IP-адреса клиента, используя готовые базы данных MaxMind. При использовании баз данных с поддержкой IPv6 (1.3.12, 1.2.7) IPv4-адреса ищутся отображёнными на IPv6. По умолчанию этот модуль не собирается, его сборку необходимо разрешить с помощью конфигурационного параметра —with-http_geoip_module. Для сборки и работы этого модуля нужна библиотека MaxMind GeoIP. Пример конфигурации http { geoip_country…