max_ranges

Директива 'max_ranges' ограничивает количество HTTP-диапазонных запросов, которые сервер NGINX обработает для одного ответа. — NGINX HTTP Core

max_ranges
httpserverlocation
Синтаксисmax_ranges number;
По умолчаниюnone
Контекстhttp, server, location
МодульNGINX HTTP Core
Аргументы1

Описание

`max_ranges` директива в NGINX используется для ограничения максимального числа диапазонных HTTP-запросов, которые сервер будет обслуживать в одном ответе. Диапазонный запрос позволяет клиентам запрашивать определённые части ресурса, что полезно для возобновления загрузок или потоковой передачи мультимедиа. Ограничивая количество запрашиваемых диапазонов, можно сэкономить ресурсы сервера и смягчить влияние сложных запросов диапазонов на производительность. Директива определяется в контекстах `http`, `server` и `location`, что делает её универсальной для различных сценариев конфигурации. Если клиент отправляет запрос с несколькими диапазонами, превышающими значение, заданное в `max_ranges`, NGINX вернёт HTTP-ошибку, указывающую, что запрос не может быть выполнен. Это помогает предотвратить потенциальные атаки типа отказ в обслуживании через чрезмерные запросы диапазонов и улучшает устойчивость сервера под нагрузкой. Параметр для `max_ranges` — это целое число, обозначающее максимальное число принимаемых диапазонов. Например, если установить его в 5, сервер будет обрабатывать не более 5 диапазонов одновременно и отклонять все последующие. Такая настройка особенно важна для медиа-серверов или приложений, отдающих большие файлы, где клиенты могут попытаться запрашивать обширные диапазоны байтов одновременно, что приводит к возрастанию накладных расходов.

Пример конфига

http {
    max_ranges 4;
}

Установка этого значения слишком низко может привести к проблемам, когда клиенты не смогут эффективно получать большие файлы.

Чрезмерно высокие значения могут перегрузить ресурсы сервера, особенно при высокой нагрузке.