最近将系统迁移成 Nginx + Tomcat 的架构, 跟踪nginx的错误日志,发现如标题所述的警告信息。
an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/4/04/0000000044 while reading upstream,
网上找了下,说是buffer设置的不够大,这里我用Chrome跟踪了一下返回的页面大小,较大的页面返回约150k,根据nginx的 4x + y 的buffer设置方式,做出如下设置:
location ~ .*.(do|jsp)$ {
index index.jsp;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://tomcat;
proxy_connect_timeout 10;
proxy_buffer_size 4k;
proxy_buffers 64 32k;
}
设置好之后,nginx再没报这样的警告。