scgi_cache_max_range_offset
Настраивает максимальное смещение при получении диапазона из кэша SCGI. — NGINX HTTP Core
Описание
Директива `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;
}Будьте осторожны при установке очень большого смещения, так как это может позволить клиентам запрашивать больше данных, чем предусмотрено, и повлиять на производительность сервера.
Если не задано, клиенты могут получить весь контент при запросе диапазона, превышающего поведение по умолчанию, если обработка неэффективна.