echo_request_body

指令 `echo_request_body` 会在响应中将请求体回显给客户端。

语法echo_request_body;
默认值none
上下文location, if in location
参数none

说明

echo_request_body 指令是 NGINX Echo Module 的一部分,使服务器能够读取并返回传入 HTTP 请求的主体。此功能在调试场景或测试 API 时尤其有用,当你需要验证客户端发送的具体数据时非常便捷。当在一个 location block 中调用该指令时,它会促使 NGINX 读取请求体并将其作为 HTTP response 的一部分返回。

该指令不需要任何参数,应放置在 location context 或位于 location 中的 if statement 内。当执行该指令时,NGINX 首先检查是否存在可读取的请求体。如果存在,则将内容返回给客户端。如果请求方法不允许请求体(例如 GET),或者客户端未发送任何请求体,则输出可能不会包含任何内容。注意,echo_request_body 不会以其他方式修改请求或响应,它仅用于显示收到的数据。

为确保正确处理,建议在预计会有请求体的位置使用该指令,例如 POST 或 PUT 请求。在具有多个 location 或条件服务器指令的复杂服务器配置中,该指令的放置位置和顺序会影响其有效性和可用性。

配置示例

location /echo {
    echo_request_body;
}

确保请求方法支持请求体,因为在像 GET 这样的请求方法中使用此指令不会有要回显的请求体。

此指令应放置在正确的上下文中;错误使用可能导致意外行为或根本没有输出。

← 返回所有指令