Nginx:当客户端发送的分块主体超出所需大小时断开连接

Nginx:当客户端发送的分块主体超出所需大小时断开连接

在 nginx 中有以下指令client_max_body_size

设置客户端请求主体的最大允许大小,在“Content-Length”请求标头字段中指定。如果请求中的大小超出配置的值,则会向客户端返回 413(请求实体太大)错误。

正如它所说,当请求中提供了 Content-Length 时,会使用它。我使用 nginx 作为反向代理。不幸的是,我对特定 URI 的 nodejs 实现需要提供 POST 正文Transfer-Encoding: chunked——否则它会中断。我仍然需要限制接受的正文大小以防止 DoS。如果正文中发送了太多字节,我希望 nginx 关闭连接。

nginx 有功能?或者我最好在 nodejs 服务器上实现它?

答案1

幸运的是,client_max_body_size它确实适用于Transfer-Encoding: chunked请求。我在测试过程中发现了这一点。文档只是没有提到这一点。

相关内容