scgi_cache_max_range_offset

Настраивает максимальное смещение при получении диапазона из кэша SCGI. — NGINX HTTP Core

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

Описание

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

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

location /api {
    scgi_pass unix:/var/run/scgi.sock;
    scgi_cache on;
    scgi_cache_path /tmp/scgi_cache levels=1:2 keys_zone=scgi_cache:10m;
    scgi_cache_max_range_offset 100000; 
}

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

Если не задано, клиенты могут получить весь контент при запросе диапазона, превышающего поведение по умолчанию, если обработка неэффективна.