proxy代理参数理解

来源:4-14 Nginx进阶高级模块_Geoip读取地域信息模块介绍

慕妹2362023

2020-10-29

如下是我对proxy参数的理解,还请老师指正
proxy_connect_timeout 60s;
proxy_read_timeout 60s; #代理等待后端服务器响应(Header)
proxy_send_timeout 60s; #后端服务器回传数据(Data)给代理

proxy_buffering on;
proxy_buffer_size 64k; 缓存去Header大小
proxy_buffers 4 64k; 缓冲区Data大小

问题是:这个缓冲区能解决是干什么用的,开与不开的区别是?或者有什么方法能让我更好理解为什么要开启这个缓冲区吗

写回答

1回答

Jeson

2020-11-14

proxy_buffering这个参数用来控制是否打开后端响应内容的缓冲区,如果这个设置为off,那么proxy_buffers和proxy_busy_buffers_size这两个指令将会失效。 但是无论proxy_buffering是否开启,对proxy_buffer_size都是生效的。

proxy_buffering开启的情况下,nignx会把后端返回的内容先放到缓冲区当中,然后再返回给客户端(边收边传,不是全部接收完再传给客户端)。 临时文件由proxy_max_temp_file_size和proxy_temp_file_write_size这两个指令决定的。

如果proxy_buffering关闭,那么nginx会立即把从后端收到的响应内容传送给客户端,每次取的大小为proxy_buffer_size的大小,这样效率肯定会比较低。

注: proxy_buffering启用时,要提防使用的代理缓冲区太大。这可能会吃掉你的内存,限制代理能够支持的最大并发连接数。


0
0

Nginx入门到实践-Nginx中间件应用+搭建Webserver架构

中间件、负载均衡、应用层安全防护、动静分离、Nginx+LUA开发等

4183 学习 · 908 问题

查看课程