post_action

Директива `post_action` задаёт обработчик, который выполняется после отправки ответа клиенту.

Синтаксисpost_action uri;
По умолчаниюnone
Контекстhttp, server, location, if in location
Аргументы1

Описание

Директива post_action в NGINX позволяет указать дополнительное действие, которое должно выполняться после обработки запроса. Эту директиву можно определить на разных уровнях конфигурации NGINX, таких как http, server, location, или внутри 'if' выражений в пределах location block, что обеспечивает гибкость в соответствии с различными потребностями при обработке HTTP-запросов. Основная цель этой директивы — позволить выполнять последующие задачи обработки, которые не влияют на немедленный ответ клиенту, такие как логирование, уведомления или дополнительная фоновая обработка.\n\nКогда вы используете директиву post_action, указанный URI будет запрошен после выполнения основного запроса, потенциально отправляя фоновый запрос к другой конечной точке. Однако важно убедиться, что эта конечная точка обрабатывается должным образом, поскольку NGINX не ждёт завершения post_action; он лишь запускает её после обработки основного ответа. Это позволяет выполнять операции, которые не критичны для опыта пользователя, но могут быть важны для аудита или обслуживания системы.\n\nДиректива принимает один аргумент — URI, который будет запрошен post-action. Учтите, что URI может включать параметры запроса и должен напрямую относиться к действительному location block, определённому в конфигурации NGINX.

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

location /example {
    post_action /post-handler;
}

Убедитесь, что URI, указанный в post_action, существует и доступен для NGINX, иначе это может привести к непредвиденному поведению.

post_action не ожидает завершения обработки на бэкенде; любые необходимые операции очистки должны выполняться внутри самого post_action.

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