fastcgi_force_ranges

Директива `fastcgi_force_ranges` заставляет FastCGI server отвечать на запросы диапазонов байтов статусом 206 Partial Content. — NGINX HTTP Core

fastcgi_force_ranges
httpserverlocation
Синтаксисfastcgi_force_ranges on | off;
По умолчаниюoff
Контекстhttp, server, location
МодульNGINX HTTP Core
Аргументыflag

Описание

Директива `fastcgi_force_ranges` используется в NGINX для обработки запросов диапазонов байтов, отправляемых на FastCGI backend. По умолчанию некоторые приложения FastCGI могут некорректно поддерживать диапазоны байтов, что приводит к неправильной доставке содержимого при частичных запросах. Когда эта директива включена (установлена в 'on'), NGINX обеспечит, что запросы с диапазонами байтов правильно интерпретируются и обрабатываются FastCGI server, принуждая его отвечать с `206 Partial Content`, при условии, что указанный диапазон действителен. На практике данная директива особенно важна при отдаче видео- или аудиоконтента по HTTP, когда клиенты могут запрашивать определённые диапазоны байтов для потоковой передачи. Поручая FastCGI server учитывать такие запросы с диапазонами, NGINX повышает совместимость и эффективность доставки содержимого. Директива может применяться глобально или в рамках конкретных контекстов server и location, что делает её гибкой для различных конфигураций сайтов. Директива `fastcgi_force_ranges` принимает флаг: он может быть установлен в 'on' или 'off', при этом 'off' отключает принудительное поведение ответа. Когда она включена, NGINX взаимодействует напрямую с FastCGI server для согласования и управления диапазонами байтов, обеспечивая клиентам получение соответствующих сегментов данных, которые они запрашивают. Такое поведение улучшает опыт конечного пользователя, особенно для приложений с богатым медиа-контентом.

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

server {
    location /api {
        fastcgi_pass backend;
        fastcgi_force_ranges on;
    }
}

Убедитесь, что FastCGI-сервер поддерживает запросы диапазонов, поскольку не все серверы корректно реализуют эту функциональность.

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