【问题标题】:Nginx return 502 error as reverse proxyNginx 作为反向代理返回 502 错误
【发布时间】:2012-09-15 11:51:00
【问题描述】:

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

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');

如果我注释掉最后一行,一切都开始工作,但编码错误,删除 cmets 后一切正常,即使编码也很好。过了一段时间,事情变糟了。 请帮忙,我是 nginx 新手。

【问题讨论】:

    标签: php apache header nginx reverse-proxy


    【解决方案1】:

    我忘了说 - 我 升级 php 版本从 5.2 到 5.3 并且一些代码会中断,因为 php 设置是安全的。关于解决方案: 这太不可思议了——有人写了这些代码eval(base64_decode("aWYoJG5hbWUgPT0gIkVsZmV0IikkaHRtbG5hbWUgPSAiPGJpZz5FbGZldDwvYmlnPiI7")); 哪个来做这件事if($name == "Elfet")$htmlname = "<big>Elfet</big>";我用纯代码替换了eval,一切正常!

    【讨论】:

      猜你喜欢
      • 2021-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-03
      • 2016-01-17
      • 1970-01-01
      • 1970-01-01
      • 2021-05-28
      相关资源
      最近更新 更多