2012-09-15 48 views
0

我有网站与nginx作为反向代理和Apache作为后端与mod_php。有时nginx在特定的url上返回502错误(如http://example.com/ipb.html?automodule=elfchat),因为apache关闭连接。在好的情况下 - 脚本应该将我重定向到另一个页面。下面是文件,事故的发生:Nginx返回502错误作为反向代理

define('ELFCHAT_VERSION', '4.2.1'); 
include_once(ELFCHAT_PATH."config.php"); 
include_once(ELFCHAT_PATH."settings.php"); 
include_once(ELFCHAT_PATH."error.php"); 
include_once(ELFCHAT_PATH."kernel/db.php"); 
include_once(ELFCHAT_PATH."kernel/sessions.php"); 
include_once(ELFCHAT_PATH."kernel/skinloader.php"); 
include_once(ELFCHAT_PATH."kernel/kernel.php"); 

Elfchat::Init($config, unserialize($settings)); 

Skin::Setskinpath("skin/".Elfchat::Settings("skin")."/"); 

/** 
* Код для пользовательского смена скина и языка. 
*/ 
Elfchat::Session()->start(); 

if(isset($_GET['useskin'])) 
{ 
    if($_GET['useskin'] == "ichat")$skin = "ichat"; 
    else $skin = "elfskin"; 
    $_SESSION['useskin'] = $skin; 
} 

if(isset($_SESSION['useskin'])) 
{ 
    if($_SESSION['useskin'] == "ichat")$skin = "ichat"; 
    else $skin = "elfskin"; 
    Skin::Setskinpath("skin/".$skin."/"); 
} 
/** 
* Конец дополнительного кода 
*/ 
@header('Content-Type: text/html; charset=utf-8'); 

如果我注释掉最后一行一切开始工作,但糟糕的编码,删除留言的一切工作,即使编码是良好的售后服务。过了一段时间事情变糟了。 请帮忙,我是nginx新手。

回答

0

我忘了说 - 我升级 PHP版本从5.2到5.3和一些代码将打破,因为PHP设置是安全的。关于解决方案: 这是令人难以置信的 - 有人写这些代码eval(base64_decode("aWYoJG5hbWUgPT0gIkVsZmV0IikkaHRtbG5hbWUgPSAiPGJpZz5FbGZldDwvYmlnPiI7")); 哪个做这个事情if($name == "Elfet")$htmlname = "<big>Elfet</big>";我用纯代码取代eval,一切正常!