echo_request_body
指令 `echo_request_body` 会在响应中将请求体回显给客户端。
nginx Echo module
·
locationif in location
语法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 这样的请求方法中使用此指令不会有要回显的请求体。
⚠
此指令应放置在正确的上下文中;错误使用可能导致意外行为或根本没有输出。