proxy-缓冲区
Syntax: proxy_buffering on | off;
Default: proxy_buffering on;
Context: http, server, location
扩展:
proxy_buffer_size-设置缓冲区大小(内存页大小)
proxy_buffers-设置缓冲区数量和大小(内存页数量和大小)
proxy_busy_buffers_size-设置最大缓冲区大小
proxy-重定向
Syntax: proxy_redirect default; proxy_redirect off; proxy_redirect redirect replacement;
Default: proxy_redirect default;
Context: http, server, location
proxy-头信息
Syntax: proxy_set_header field value;
Default: proxy_set_header Host $proxy_host; proxy_set_header Connection close;
Context: http, server, location
扩展:
proxy_hide_header-设置隐藏头信息字段
proxy_set_body-设置请求体返回信息
proxy-超时
Syntax: proxy_connect_timeout time;
Default: proxy_connect_timeout 60s;
Context: http, server, location
location / {
index index.jsp;
proxy_pass http://hello; #在这里设置一个代理,和upstream的名字一样
#以下是一些反向代理的配置可删除
proxy_redirect off;
#后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m; #允许客户端请求的最大单文件字节数
client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数
proxy_connect_timeout 300; #nginx跟后端服务器连接超时时间(代理连接超时)
proxy_send_timeout 300; #后端服务器数据回传时间(代理发送超时)
proxy_read_timeout 300; #连接成功后,后端服务器响应时间(代理接收超时)
proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)
proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传
}
}
详解:
proxy_redirect default;
- 没有重定向就配置成默认,除非后端返回301情况下设置成具体重定向地址
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
- 设置字段重新定义或附加到传递给代理服务器的请求头
proxy_connect_timeout 30;
- 设置代理连接超时时间
proxy_read_timeout 60;
- 设置从代理服务器读取响应的超时时间
proxy_send_timeout 60;
- 设置向代理服务器发送请求的超时时间
proxy_buffering on;
proxy_buffer_size 32k;
- 设置用于读取从代理服务器接收的响应的第一部分的缓冲区的大小
proxy_buffers 4 128k
- 设置用于从代理服务器读取响应的缓冲区的数量和大小,用于单个连接
proxy_busy_buffers_size 256k;
- 设置当启用来自代理服务器的响应缓冲时,限制可能忙于向响应客户端发送响应的缓冲区的总大小,而响应尚未完全读取
proxy_max_temp_file_size 256k;
- 设置当启用来自代理服务器的响应缓冲,并且整个响应不适合proxy_buffer_size和proxy_buffers指令设置的缓冲区时,响应的一部分可以保存到临时文件中,该指令设置临时文件的最大大小。 一次写入临时文件的数据大小由proxy_temp_file_write_size指令设置