这个问题围绕本站有一段时间,因为程序运行良好,只有退出时出现这个问题,一直以来以为是discuz自身的问题。如:https://bbs.swdyz.com/member.php?mod=logging&action=logout&formhash=72dea2a2 要把后面&formhash=72dea2a2去掉才正常显示,但用户仍然不能退出! 
3 {+ w+ A" E7 j/ _4 _8 l1 v+ Q# a' |& }5 p 
2 D  e7 p2 k9 ]; i% E0 P9 A 
今天发誓解决的个问题,懒人终于查看了nginx的错误日志,里面显示: 
, {' p& `' i2 i2 R$ j[C#] 纯文本查看 复制代码 2014/08/07 08:44:17 [error] 1681#0: *49837 upstream sent too big header while reading response header from upstream, client: 218.65.212.158, server: bbs.swdyz.com, request: "GET /member.php?mod=logging&action=logout&formhash=72dea2a2 HTTP/1.1", upstream: "fastcgi://127.0.0.1:9009", host: "bbs.swdyz.com", referrer: "https://bbs.swdyz.com/home.php?mod=space&uid=1&do=profile"
  - d9 n' Y. `; a 
+ V7 T0 ]8 ?1 A 
原因在这句:upstream sent too big header while reading response header from upstream" H+ m4 q2 `: B7 L5 k 
原来用户退出时发送的header过大,超出默认的1k。7 w, D7 E' Y: b; w3 j 
解决方法也就有了,在nginx网站php解析那部分加上以下代码问题解决:% Y4 h  o- m* A' X, x; g 
fastcgi_buffers 8 16k; . b5 k* Z3 n" z9 m- Y# _1 S! P7 D6 U* B 
fastcgi_buffer_size 32k; 
- G9 w' S. d6 Y0 r! D7 R 
7 D+ }: i! u: \9 `* r' i" X! H2 L& G: h* p6 R1 y) N 
如果你已经设置但还是有问题估计用了反向代理的原因,同样反向代理nginx配置文件php部分加上: 
# l( P- k. \9 ?4 q+ }9 K$ e- [在http{}中加了如下代码,单个虚拟站点在location ~ \.php{}中加入:$ O/ a3 a1 c6 O+ _3 f* I" v$ b 
    proxy_buffer_size 128k;; o6 R; `# E5 \# `( ^8 z/ A, ? 
    proxy_buffers 32 32k;0 u! l1 V  Z" O7 K7 ] 
    proxy_busy_buffers_size 128k; 
; n- T: o0 f4 R: \, X& V( ?" t" y) O3 S7 r# _7 U4 S0 @0 n  z 
" G3 t% u9 Q% g9 T9 u 
 
. |5 j+ M. Q. u' g |