找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 24196|回复: 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去掉才正常显示,但用户仍然不能退出!
9 M/ V, ~" C* o, |" |) Y7 \% {1 m2 b0 z7 l0 Q( e' F9 A

' x7 p8 h  q+ l  _/ z3 e) Y5 p今天发誓解决的个问题,懒人终于查看了nginx的错误日志,里面显示:
" ?( E0 t& f( |0 x$ S
[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"

5 I8 P/ Z+ t- Z/ u. j' g2 B: @
" J) h3 T( ^  T7 m原因在这句:upstream sent too big header while reading response header from upstream
% `- k  `+ D/ F9 i$ k. x; X, t原来用户退出时发送的header过大,超出默认的1k。/ \# o7 t: z. h2 A) I4 L- ^
解决方法也就有了,在nginx网站php解析那部分加上以下代码问题解决:
: J' B3 k( s8 V" T! A: ffastcgi_buffers 8 16k; ! V$ ?- k4 y: f4 |% v, }8 Y
fastcgi_buffer_size 32k;) ~7 @8 U: C& i# x
% t* U; q4 }3 s) q4 p4 N, W
' P* c+ F* g- p( M) r/ f$ p
如果你已经设置但还是有问题估计用了反向代理的原因,同样反向代理nginx配置文件php部分加上:
" ~2 P- X  n0 i$ U9 G# ~6 }+ z/ k在http{}中加了如下代码,单个虚拟站点在location ~ \.php{}中加入
& P- v2 r! l& o! u: N/ u    proxy_buffer_size 128k;& i6 J7 G) I7 `3 R( z
    proxy_buffers 32 32k;
! f$ c" K1 @" R) Y    proxy_busy_buffers_size 128k;# k! E1 w- o9 H0 R5 l& |0 f
# a* C- W5 J9 Q
& q# p8 d- g; G3 Z
) Q6 q/ z( t; L3 g
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-5-14 12:01 , Processed in 0.066640 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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