找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 24872|回复: 0

discuzx3.x用户退出显示502或503错误的解决方法

[复制链接]
发表于 2014-8-7 09:33:51 | 显示全部楼层 |阅读模式
这个问题围绕本站有一段时间,因为程序运行良好,只有退出时出现这个问题,一直以来以为是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
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|第一站论坛 ( 蜀ICP备06004864号-6 )

GMT+8, 2025-11-4 21:16 , Processed in 0.050332 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表