Nginx proxy buffer相关的设置和解释

Posted start枫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx proxy buffer相关的设置和解释相关的知识,希望对你有一定的参考价值。

proxy_buffer_size 4k;

proxy_buffering on;
proxy_buffers 4 4k;
proxy_busy_buffers_size 8k;
proxy_max_temp_file_size 1024m;

首先,这些参数都是针对每一个http request ,不是全局的。

proxy_buffering 开启的时候,proxy_buffers 和proxy_busy_buffers_size 才会起作用,无论proxy_buffering 是否开启,proxy_buffer_size 都起作用。

 

proxy_buffer_size 用来接受后端服务器 response 的第一部分,小的response header 通常位于这部分响应内容里边。默认proxy_buffer_size 被设置成 proxy_buffers 里一个buffer 的大小,当然可以设置更小些

 

如果 proxy_buffers 关闭,nginx不会尝试获取到后端服务器所有响应数据之后才返回给客户端,Nginx 会尽快把数据传给客户端,在数据传完之前,Nginx 接收到的最大缓存大小不能超过 proxy_buffer_size 。

 

如果 proxy_buffers 打开,Nginx将会尽可能的读取后端服务器的数据到buffer,直到proxy_buffers设置的所有buffer们被写满或者数据被读取完(EOF),此时Nginx开始向客户端传输数据,会同时传输这一整串buffer们。如果数据很大的话,Nginx会接收并把他们写入到temp_file里去,大小由proxy_max_temp_file_size 控制

 

proxy_buffers的缓冲区大小一般会设置的比较大,以应付大网页。而proxy_buffer_size只是响应头的缓冲区,没有必要也跟着

扩展到那么大。所以proxy_buffer_size最好单独设置,一般设置个4k就够了




以上是关于Nginx proxy buffer相关的设置和解释的主要内容,如果未能解决你的问题,请参考以下文章

nginx缓冲区,跳转,超时

nginx proxy_buffer_size 解决后端服务传输数据过多,其实是header过大的问题

Nginx常用设置信息

nginx转发时获取视频文件失败问题

Nginx 如何处理上游响应的数据

nginx proxy_cache缓存详解