Nginx Proxy_request_buffering on off 的使用

4 min read

Nginx 的 proxy_request_buffering 指令控制是否启用请求缓冲。默认情况下,proxy_request_buffering 启用,这意味着 Nginx 将缓冲来自代理客户端的请求,并且只有缓冲区满或请求结束时才将其转发给上游服务器。这种行为通常对于大多数情况都是适当的,因为它可以减少对上游服务器的负载并提高响应速度。

如果确定某些请求不应被缓冲,则可以使用 proxy_request_buffering off 指令禁用缓冲。这对于需要实时交互的 Web 应用程序非常有用,例如在线游戏或聊天室等。

下面是一个示例配置,其中 proxy_request_buffering 已禁用:

location /chat {
    proxy_pass http://backend;
    proxy_request_buffering off;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}

请注意,禁用缓冲可能会增加对上游服务器的负载并降低响应速度。因此,建议只在必要时使用 proxy_request_buffering off。