post_action

`post_action` 指令指定在向客户端发送响应后要执行的处理程序。 — NGINX HTTP Core

post_action
httpserverlocationif in location
语法post_action uri;
默认值none
上下文http, server, location, if in location
模块NGINX HTTP Core
参数1

说明

`post_action` 指令在 NGINX 中允许你指定在请求处理完成后应执行的附加操作。该指令可以在 NGINX 配置的不同层级定义,例如 http、server、location,或在 location 块内的 'if' 语句中,根据不同的 HTTP 请求处理需求提供灵活性。该指令的主要目的是允许执行不会影响对客户端即时响应的后续处理任务,例如日志记录、通知或额外的后台处理。 当你使用 `post_action` 指令时,指定的 URI 会在主请求完成后被请求,可能会向另一个端点发送后台请求。然而,重要的是要确保该端点被正确处理,因为 NGINX 不会等待 `post_action` 完成;它仅在主响应处理后触发该操作。这使得可以执行对用户体验非关键但对审计或系统维护可能至关重要的操作。 该指令接受一个参数,即 post-action 将请求的 URI。请记住,URI 可以包含查询参数,并且应直接对应于在 NGINX 配置中定义的有效 location 块。

配置示例

location /example {
    post_action /post-handler;
}

确保在 `post_action` 中指定的 URI 存在并且可以被 NGINX 访问,否则可能导致意外行为。

`post_action` 不会等待后端处理完成;任何必要的清理都应在 post-action 本身处理。