fastcgi_cache_max_range_offset
Управляет максимальным допустимым смещением для range-запросов в кэшировании FastCGI. — NGINX HTTP Core
Описание
Директива `fastcgi_cache_max_range_offset` задаёт максимальное количество байт, которое может быть указано в качестве смещения, когда клиент выполняет range‑запрос к ресурсу, обслуживаемому кэшированием FastCGI. Эта директива помогает оптимизировать поведение кэша и ответы для частично загруженных ресурсов, гарантируя, что сервер не выдаёт устаревшие или избыточные данные, когда клиенты запрашивают только определённые части файла. Установка этой директивы с числовым значением позволяет контролировать детализацию ответа на range‑запросы к кешированному содержимому. Если смещение превышает указанное значение, NGINX может отказаться от выполнения range‑запроса или обработать его иначе в зависимости от реализации модуля FastCGI и применяемой стратегии кэширования. Это особенно полезно в ситуациях, где критично минимизировать потребление пропускной способности, или для более эффективной выдачи ответов при работе с большими файлами, к которым часто обращаются по частям. Эту директиву можно применять в разных контекстах, включая http, server и location-блоки в файле конфигурации NGINX, что делает её гибкой для различных сценариев использования и настроек сервера.
Пример конфига
http {
fastcgi_cache_path /var/cache/nginx/fastcgi_temp levels=1:2 keys_zone=my_cache:10m;
server {
location / {
fastcgi_pass backend;
fastcgi_cache my_cache;
fastcgi_cache_max_range_offset 1048576; # 1 MB
}
}
}Установка слишком большого смещения может привести к ненужному использованию пропускной способности при частичном получении содержимого.
Если смещение не задано и поступает запрос диапазона с большим смещением, это может привести к тому, что NGINX отклонит запрос или вернет ошибку 416.
Убедитесь, что указанный размер соответствует ожидаемому размеру диапазона для передаваемого содержимого, чтобы избежать проблем с производительностью.