1.问题简述
wordpress登录后台无法跳转。
2.问题详情
查看nginx的access.log,发现POST请求状态为502。
继续查看nginx的error.log,发现报错"upstream sent too big header while reading response header from upstream"
3.问题解决
字面意思理解应该是upstream负载均衡的模块转发的header头超出限制值了。
大概是因为登录时,请求的响应携带的header太多了。
proxy的设置
这个设置是nginx作为client转发时使用的。
在 nginx.conf 的http段,加入下面的配置:
proxy_buffer_size 128k;
proxy_buffers 32 32k;
proxy_busy_buffers_size 256k;
后端PHPCGI同样需要设置
这个设置是nginx接受client请求时的响应使用的(问题主要就出在这里)
在host配置的php段加入下面配置:
fastcgi_buffer_size 128k;
fastcgi_buffers 32 32k;
fastcgi_busy_buffers_size 256k;
成功解决!
总结
proxy是nginx作为client转发时使用的,如果header过大,超出了默认的1k,就会引发上述的upstream sent too big header。
fastcgi_* 可以理解成nginx接受client请求时的响应使用的。