kerwin-ly / blog Goto Github PK
View Code? Open in Web Editor NEWA blog mainly relevant to algorithm, data structure, design patterns, JavaScript, etc.
A blog mainly relevant to algorithm, data structure, design patterns, JavaScript, etc.
今天在更新系统的前端镜像后,打开网址发现报了个错误:main.xx.js net::ERR_CONTENT_LENGTH_MISMATCH 206 (Partial Content)
。
通过排查大概定位到是由于js文件过大,导致Nginx
中的代理缓存无法加载全部资源原因导致。
Syntax: proxy_buffering on | off;
Default: proxy_buffering on;
Context: http, server, location
该字段用于控制是否缓存代理服务器的返回。
如果为on
。Nginx
会将代理服务器返回的结果存放到缓冲区,再返回给客户端(边收边传,不是全部接收完再传给客户端)。缓存大小由proxy_buffers
和proxy_busy_buffers_size
两个指令决定。如果缓存超出限制,一部分则会被写入到硬盘的临时文件中,临时文件由proxy_max_temp_file_size和 proxy_temp_file_write_size指令控制。
如果为off
。Nginx
会将返回结果立刻传递到客户端。如果返回结果过大,超过了Nginx
中配置的proxy_buffer_size
的值。Nginx
将分批从代理服务器中读取返回结果,当读取的内容达到proxy_buffer_size
值后,立刻返回给客户端,然后再从代理服务器获取剩余部分。
注意:如果该字段为off
,proxy_buffers
和proxy_busy_buffers_size
这两个指令将会失效。 proxy_buffer_size
不受任何影响。开启状态时,需提防其缓存空间设置过大,内存被大量占用的情况发生。
Syntax: proxy_buffer_size size;
Default: proxy_buffer_size 4k|8k;
Context: http, server, location
后端服务器的响应头会放到proxy_buffer_size当中,这个大小默认等于proxy_buffers
当中的设置单个缓冲区的大小。
Syntax: proxy_buffers number size;
Default: proxy_buffers 8 4k|8k;
Context: http, server, location
proxy_buffers
的缓冲区大小一般会设置的比较大,以应付大网页。 proxy_buffers
当中单个缓冲区的大小是由系统的内存页面大小决定的,Linux系统中一般为4k。 proxy_buffers
由缓冲区数量和缓冲区大小组成的。总的大小为number*size。
若某些请求的响应过大,则超过proxy_buffers
的部分将被缓冲到硬盘(缓冲目录由_temp_path指令指定), 当然这将会使读取响应的速度减慢, 影响用户体验. 可以使用proxy_max_temp_file_size指令关闭磁盘缓冲。
Syntax: proxy_busy_buffers_size size;
Default: proxy_busy_buffers_size 8k\|16k;
Context: http, server, location
proxy_busy_buffers_size
不是独立的空间,他是proxy_buffers
和proxy_buffer_size
的一部分。nginx
会在没有完全读完后端响应的时候就开始向客户端传送数据,所以它会划出一部分缓冲区来专门向客户端传送数据(这部分的大小是由proxy_busy_buffers_size
来控制的,建议为proxy_buffers
中单个缓冲区大小的2倍),然后它继续从后端取数据,缓冲区满了之后就写到磁盘的临时文件中。
http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffer_size
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.