Модуль 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…
Модуль ngx_http_autoindex_module обслуживает запросы, оканчивающиеся слэшом (‘/’), и выдаёт листинг каталога. Обычно запрос попадает к модулю ngx_http_autoindex_module, когда модуль ngx_http_index_module не нашёл индексный файл. Пример конфигурации location / { autoindex on; } Директивы Синтаксис: autoindex on | off; Умолчание: autoindex off; Контекст: http, server, location Разрешает или запрещает вывод листинга каталога. Синтаксис: autoindex_exact_size on | off; Умолчание: autoindex_exact_size on; Контекст: http, server, location Для формата HTML определяет, как выводить размеры файлов в…