已解决 尝试配置客户端,登录时提示服务器操作失败,请问怎么排查?

诊断日志如下:

2022-06-15 10:53:51.04 [INFO] 开始诊断网络问题,服务器地址:http://xxxxx:11443/,用户名:admin,客户端版本:5.6.0。

log time: 2022-06-15 10:53:51.04
build time: 2022-05-26 08:11
platform: electron
os: win
arch: x64

2022-06-15 10:53:49.79 [ERROR] [HTTP_STATUS_ERROR] 服务器操作失败。
<?php
/* Set the error reporting. */
error_reporting(E_ALL);

/* Start output buffer. */
ob_start();

/* Set front as default mode. */
$runMode = 'front';

/* Check is api mode. */
if(preg_match('/token=[a-z0-9]{32}/i', $_SERVER["QUERY_STRING"])) $runMode = 'api';

/* Check is xuanxuan client mode. */
if(!empty($_SERVER['HTTP_USER_AGENT']) && strpos($_SERVER['HTTP_USER_AGENT'], 'easysoft/xuan.im') !== false) $runMode = 'xuanxuan';

define('RUN_MODE', $runMode);

/* Load the framework. */
$routerFile = (RUN_MODE == 'api') ? '../framework/router.class.php' : '../framework/xuanxuan.class.php';
i n c l u d e $routerFile;

i n c l u d e '../framework/control.class.php';
i n c l u d e '../framework/model.class.php';
i n c l u d e '../framework/helper.class.php';

/* Log the time and define the run mode. */
$startTime = getTime();

/* Clear cookies for api requests. */
if(RUN_MODE == 'api') unset($_COOKIE);

/* Run the app. */
if(RUN_MODE == 'api') $app = router::createApp('xxb', dirname(dirname(__FILE__)));
if(RUN_MODE != 'api') $app = router::createApp('xxb', dirname(dirname(__FILE__)), 'xuanxuan');

/* Load common model. */
$common = $app->loadCommon();

/* Api mode need check entry and set default params. */
if(RUN_MODE == 'api')
{
    $common->checkEntry();
    $config->requestType   = 'GET';
    $config->default->view = 'json';
}

/* Parse request. */
$result = $app->parseRequest();
if(RUN_MODE != 'api' && !$result) die;

/* Check privilege of api. */
if(RUN_MODE == 'api') $common->checkPriv();

/* Load module. */
$app->loadModule();

/* Process api response. */
if(RUN_MODE == 'api')
{
    $output = json_decode(ob_get_clean());
    $data   = new stdClass();
    $data->status = isset($output->status) ? $output->status : $output->result;
    if(isset($output->message)) $data->message = $output->message;
    if(isset($output->data))    $data->data    = json_decode($output->data);
    $output = json_encode($data);

    unset($_SESSION['entryCode']);
    unset($_SESSION['validEntry']);
}

/* Flush the buffer. */
echo helper::removeUTF8Bom(ob_get_clean());


-------------------
Fetch from http://glgsoft.com:11443/serverInfo
    Request:
        Method: POST
        Headers: {"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"}
    Response:
        Type: basic
        Status: 502
        OK: 
        Redirected: 
        StatusText: Bad Gateway
        Body: <?php
/* Set the error reporting. */
error_reporting(E_ALL);

/* Start output buffer. */
ob_start();

/* Set front as default mode. */
$runMode = 'front';

/* Check is api mode. */
if(preg_match('/token=[a-z0-9]{32}/i', $_SERVER["QUERY_STRING"])) $runMode = 'api';

/* Check is xuanxuan client mode. */
if(!empty($_SERVER['HTTP_USER_AGENT']) && strpos($_SERVER['HTTP_USER_AGENT'], 'easysoft/xuan.im') !== false) $runMode = 'xuanxuan';

define('RUN_MODE', $runMode);

/* Load the framework. */
$routerFile = (RUN_MODE == 'api') ? '../framework/router.class.php' : '../framework/xuanxuan.class.php';
i n c l u d e $routerFile;

i n c l u d e '../framework/control.class.php';
i n c l u d e '../framework/model.class.php';
i n c l u d e '../framework/helper.class.php';

/* Log the time and define the run mode. */
$startTime = getTime();

/* Clear cookies for api requests. */
if(RUN_MODE == 'api') unset($_COOKIE);

/* Run the app. */
if(RUN_MODE == 'api') $app = router::createApp('xxb', dirname(dirname(__FILE__)));
if(RUN_MODE != 'api') $app = router::createApp('xxb', dirname(dirname(__FILE__)), 'xuanxuan');

/* Load common model. */
$common = $app->loadCommon();

/* Api mode need check entry and set default params. */
if(RUN_MODE == 'api')
{
    $common->checkEntry();
    $config->requestType   = 'GET';
    $config->default->view = 'json';
}

/* Parse request. */
$result = $app->parseRequest();
if(RUN_MODE != 'api' && !$result) die;

/* Check privilege of api. */
if(RUN_MODE == 'api') $common->checkPriv();

/* Load module. */
$app->loadModule();

/* Process api response. */
if(RUN_MODE == 'api')
{
    $output = json_decode(ob_get_clean());
    $data   = new stdClass();
    $data->status = isset($output->status) ? $output->status : $output->result;
    if(isset($output->message)) $data->message = $output->message;
    if(isset($output->data))    $data->data    = json_decode($output->data);
    $output = json_encode($data);

    unset($_SESSION['entryCode']);
    unset($_SESSION['validEntry']);
}

/* Flush the buffer. */
echo helper::removeUTF8Bom(ob_get_clean());



2022-06-15 10:53:51.04 [ERROR] 诊断完成,发现 1 个错误,0 个需要注意的问题。
禅道版本 16.5 Windows安装包
操作系统 Windows Server 2008
客户端浏览器 Chrome

提问者: 华山蝶 悬赏: 5 日期: 2022-06-15 11:21:07 答案:1 点击:59
设置备注
答案列表
2022/06/15

您好,服务器操作失败这个问题,需要确认下:

1.XXD的配置文件是否有进行替换,需要在禅道后台-聊天-参数页面维护好信息后下载配置文件替换服务器XXD的配置文件

2.XXD服务器上的11443和11444端口是否可以正常通信。

可以先确认排查下以上几个问题点再看看呢。

2022/06/15
已经替换配置文件。
11443和11444端口也是通的。
我的神道是最新的17开源版是否会影响?

后台找到的日志如下:
[I] 2022/06/15 15:37:11 XXD v5.6 Built at 2022-05-07 15:36:22 is running
[I] 2022/06/15 15:37:11 XXD runs the directory D:\ZenTaoPMS\xxd.5.6.win64
[I] 2022/06/15 15:37:11 ProgramName:xxd.exe, System:windows-amd64
[I] 2022/06/15 15:37:11 [InitWs] WebSocket start, listen addr: 0.0.0.0:11444 /ws
[E] 2022/06/15 15:37:11 [AesDecrypt] decrypt failed, data:

[E] 2022/06/15 15:37:11 AES decrypt error, Blocks entered are incomplete.
[E] 2022/06/15 15:37:11 [ParseJSON] decrypt error: AES decrypt error, Blocks entered are incomplete.
[E] 2022/06/15 15:37:11 [StartXXD] E_BAD_RESPONSE unable to parse server response, AES decrypt error, Blocks entered are incomplete.
[I] 2022/06/15 15:37:11 Https enabled Off
[I] 2022/06/15 15:37:11 Listen IP: 0.0.0.0
[I] 2022/06/15 15:37:11 Chat port: 11444
[I] 2022/06/15 15:37:11 Common port: 11443
[I] 2022/06/15 15:37:11
[E] 2022/06/15 15:37:15 [AesDecrypt] decrypt failed, data:

[E] 2022/06/15 15:37:15 AES decrypt error, Blocks entered are incomplete.
[E] 2022/06/15 15:37:15 [ParseJSON] decrypt error: AES decrypt error, Blocks entered are incomplete.
[E] 2022/06/15 15:37:15 [VerifyLogin] server response error: AES decrypt error, Blocks entered are incomplete.
[E] 2022/06/15 15:37:15 [serverInfo] Verify authentication credentials error: AES decrypt error, Blocks entered are incomplete.