在nginx上proxy_request_buffering和proxy_buffering有什么区别?

前端之家收集整理的这篇文章主要介绍了在nginx上proxy_request_buffering和proxy_buffering有什么区别?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我看到proxy_request_buffering将缓冲请求和proxy_buffering响应.

但是,我想了解这意味着什么的内部.

最佳答案
来自Nginx documention

Proxy_Buffering

Syntax: proxy_buffering on | off;
Default:    
proxy_buffering on;
Context:    http,server,location
Enables or disables buffering of responses from the proxied server.

启用缓冲后,Nginx会尽快从代理服务器接收响应,并将其保存到proxy_buffer_sizeproxy_buffers指令设置的缓冲区中.如果整个响应不适合内存,则可以将其中的一部分保存到磁盘上的temporary file.写入临时文件proxy_max_temp_file_sizeproxy_temp_file_write_size指令控制.

禁用缓冲时,响应会在收到响应时立即同步传递给客户端. Nginx不会尝试从代理服务器读取整个响应. Nginx一次可以从服务器接收的数据的最大大小由proxy_buffer_size指令设置.

也可以通过在“X-Accel-Buffering”响应头字段中传递“是”或“否”来启用或禁用缓冲.可以使用proxy_ignore_headers指令禁用此功能.

Proxy_Request_Buffering

Syntax: proxy_request_buffering on | off;
Default:    
proxy_request_buffering on;
Context:    http,location
This directive appeared in version 1.7.11.
Enables or disables buffering of a client request body.

启用缓冲时,在将请求发送到代理服务器之前,整个请求正文是客户端的read.

禁用缓冲时,请求主体在收到时立即发送到代理服务器.在这种情况下,如果Nginx已经开始发送请求主体,则无法将请求传递给next server.

当使用HTTP / 1.1分块传输编码来发送原始请求主体时,无论指令值如何,都将缓冲请求主体,除非HTTP / 1.1是enabled用于代理.

原文链接:https://www.f2er.com/nginx/435690.html

猜你在找的Nginx相关文章