echo_subrequest

Директива 'echo_subrequest' используется для выполнения подзапроса и, при необходимости, для захвата его вывода для дальнейшей обработки.

Синтаксисecho_subrequest uri (args ...);
По умолчаниюnone
Контекстlocation, if in location
Аргументы2+

Описание

Директива 'echo_subrequest' в NGINX echo module позволяет конфигурации выполнить подзапрос к указанному URI. Она может принимать два или более аргументов, где первый аргумент — это URI подзапроса, а последующие аргументы — опциональные параметры, определяющие, как следует обрабатывать вывод подзапроса. Эта директива особенно полезна для создания модульных ответов с использованием существующих конечных точек или для обработки сложных потоков запросов без необходимости повторять логику в основном процессе обработки запроса.

Директива может размещаться в любом location context или внутри блока 'if' в location context, что делает её универсальным инструментом в конфигурациях NGINX. Директива 'echo_subrequest' поддерживает несколько схем выполнения, позволяя пользователю задавать дополнительные параметры, которые определяют метод вывода (например, выводить ли тело ответа клиенту, логировать дополнительную информацию и т. д.). Эта гибкость помогает упростить конфигурацию и сократить избыточность при обработке запросов, требующих схожих ответов.

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

location /parent {
    echo_subrequest /child arg1 arg2;
}

Убедитесь, что путь запроса в subrequest задан относительно корня сервера.

Чрезмерное количество subrequests может привести к узким местам в производительности, если их не контролировать должным образом.

Убедитесь, что URI в subrequest возвращает корректный ответ; в противном случае ошибки могут распространиться на parent request.

← Ко всем директивам