推荐应用

Discuz多国语言翻译

Discuz多国语言翻译

文库系统/文档系统

文库系统/文档系统

美食菜谱发布菜谱

美食菜谱发布菜谱

漫画阅读中心

漫画阅读中心

小说阅读中心

小说阅读中心

语言包切换基本文件

语言包切换基本文件

成语闯关

成语闯关

谷歌登錄Google登錄

谷歌登錄Google登錄

轻APP

轻APP

网上祭祀祭拜扫墓

网上祭祀祭拜扫墓

手机MP4视频上传

手机MP4视频上传

彩票开奖号码公布

彩票开奖号码公布

DZX泰语/傣语

DZX泰语/傣语

DZX日文版(日本语)

DZX日文版(日本语)

“调用远程接口失败,请检查您的服务器是否处于内网以及您服务器的防火墙”排查方法

发布于 2013-03-01
很多时候使用discuz云平台都会遇到“调用远程接口失败,请检查您的服务器是否处于内网以及您服务器的防火墙”的问题,下面我们就说下具体详细排查方法。

1、首先确定你服务器时间准确,和北京时间误差最好2分钟内,最大不要超过5分钟,时间差过大会导致加密校验失效;

2、确定是是否是在内网测试,内网不支持使用云平台,请换到公网上进行测试;

3、如果是公网,先确定服务器开放的是80端口,目前只支持80端口使用云平台;

4、如果80端口没问题,请检查你云平台的诊断信息,看看云平台接口和漫游端口是否是通的:
如果其他接口全部解析失败的话,那么咨询空间商是否开启了防火墙,联系空间商解决这个问题;
(如果是Discuz! X2.5,可以参照帖子X2.5诊断工具里所有接口全部请求失败问题的排查方法 测试这一步)

5、(1)上一条测试的是站点是否能连到云平台服务器,这一步就要测试云平台是否到站点是通的,
(2)要开通云平台,云平台服务器要连接到你的站点,实现接口通信,必须从云平台的服务器发起请求到站点的 api/manyou/my.php。如果此请求有防火墙阻挡,那么接口调用会失败,无法完成一些服务必须的功能。如果不关闭防火墙,也要设置允许 api/manyou/my.php 不受防火墙拦截。这一点站长可以访问: www.xxx.com/api/manyou/my.php看看是否正常,如果不正常的话,请检查服务器文件是否完全,是否有权限,
(3)有的站点服务器设置了跳转等其他功能,即使这个文件能访问,云平台服务器用curl还是访问不到,测这一步的站点最好跟帖留一下域名,我们可以从云平台服务器给你测试一下,并给你回复;

6、如果上面5条都没问题,如果你是Discuz! X2你可以找到"\api\manyou\my.php"文件的第2222行左右的两行代码:require_once libfile('function/cache');
updatecache(array('plugin', 'setting', 'styles'));
修改为://require_once libfile('function/cache');
//updatecache(array('plugin', 'setting', 'styles'));
如果你是Discuz! X2.5,可以找到文件"\api\manyou\Service\Server\Cloud.php"注销掉60到64行:try {
      require_once libfile('function/cache');
      updatecache(array('plugin', 'setting', 'styles'));
    } catch (Exception $e) {
    }
修改为://try {
    //  require_once libfile('function/cache');
    //  updatecache(array('plugin', 'setting', 'styles'));
    //} catch (Exception $e) {
    //}
原理:有些站点安装很多插件,不乏一些程序臃肿的插件,而操作云平台时,需要更新服务器的所有缓存,而时间限制是30秒,这样就会导致操作云平台因超时而报这个错误,注销掉既能解决这个问题;
注意:这样操作的用户每次操作完云平台要手动更新一下缓存,否则云平台的菜单可能不更新;
(不推荐注销代码的方式解决此问题,因为同步又会出问题,最好是卸载掉所有的插件来修复此问题,修复之后再按照自己的需求开启插件,当开启某插件而导致云平台又不能使用时,就能确定是哪个插件的问题了)

7、如果上面6个步骤都不能解决问题,请重新覆盖一下最新的程序文件以保证程序的完整性和准确性。

扫一扫添加有偿QQ
扫一扫添加微信客服