Nginx 反向代理缓冲区参数详解:proxy_buffering、proxy_buffer_size、proxy_buffers
在 Nginx 中,有几个参数用于设置缓冲区:
-
proxy_buffering:用于启用或禁用反向代理缓冲,默认情况下为启用。当启用时,Nginx 会将从上游服务器接收到的响应存储在内存中的缓冲区中,并在将整个响应发送给客户端之前,等待响应完全接收。当禁用时,Nginx 会立即将响应发送给客户端,而不等待整个响应完全接收。
-
proxy_buffer_size:用于设置反向代理缓冲区的大小,默认情况下为 4k。该参数指定了每个缓冲区的大小,Nginx 会为每个连接创建一个缓冲区。
-
proxy_buffers:用于设置反向代理缓冲区的数量和大小。默认情况下,Nginx 会为每个连接创建两个缓冲区,每个缓冲区的大小为 4k。可以使用该参数来增加或减少缓冲区的数量和大小。
在 Nginx 反向代理中,这些缓冲区参数的工作方式如下:
-
当接收到来自上游服务器的响应时,Nginx 会将响应存储在缓冲区中,直到整个响应完全接收。
-
如果缓冲区没有足够的空间来存储整个响应,Nginx 会暂停接收响应,直到有足够的空间可用。
-
当整个响应完全接收后,Nginx 会将响应发送给客户端。
-
如果启用了代理缓冲(proxy_buffering 设置为 on),Nginx 会在将整个响应发送给客户端之前,等待响应完全接收。这可以提高性能,因为 Nginx 可以在将响应发送给客户端之前进行一些处理。
-
如果禁用了代理缓冲(proxy_buffering 设置为 off),Nginx 会立即将响应发送给客户端,而不等待整个响应完全接收。这可以减少延迟,但可能会导致上游服务器的负载增加。
原文地址: https://www.cveoy.top/t/topic/pWYd 著作权归作者所有。请勿转载和采集!