调用远程接口失败报错分析及验证方法

问题描述:
在开通云平台或者开启/关闭某个云平台服务的时候,云平台报下面的错误:
调用远程接口失败。请检查您的服务器是否处于内网以及您服务器的防火墙设置。

出现此类问题的可能原因:
1.没有开放80端口,云平台只允许访问80端口。
非80端口的站点请改为80端口开通。

2.您的网站处于内网。
云平台只能在外网使用,请在外网搭建站点再进行开通。

3.接口文件无法访问或输出不正确。
接口文件为:您的论坛地址/api/manyou/my.php,您可以试着在浏览器里访问接口文件看是否可以正常访问。
类似的输出如下:

4.服务器上有防火墙,拦截了云平台与站点间接口文件的通信。
云平台是通过curl的方式去请求站点的接口文件,有些空间商可能对此做了限制,可咨询空间商。

5.域名还未完全生效。
如果您是使用一个刚申请的域名开通云平台,这种情况下可能是域名还未完全生效,建议您等24小时再进行开通操作。

6.云平台回调论坛方法的操作时间超时。
在开通/关闭的操作中,云平台会回调论坛的方法进行更新缓存等操作,此步操作可能超时,导致云平台没有收到正确的返回值。
此类可参考之前一个的问题分析:http://www.liudon.org/?p=102

如果出现此类报错,站长可以按下面的方法自行进行一下验证,检查问题是出在云平台访问站点接口文件还是云平台回调论坛方法上。

验证方法:
x2版本:
找到api\manyou\my.php文件,搜索代码

$my->run();

这句代码下面添加代码

file_put_contents('./d.txt', '云平台访问接口文件成功!');

修改后,进入站点后台->云平台下进行开通云平台或者开启/关闭某些云平台服务的操作,这个时候仍会报调用远程接口失败的错误。
这个时候进入网站目录/api/manyou目录下,检查是否有d.txt文件,里面的内容应该是“云平台访问接口文件成功!”。

如果存在d.txt,则说明云平台可以正常访问站点的接口文件,问题出在云平台回调论坛方法这里。这种情况大部分都会在更新缓存这里,可以参考这个方法修改试下:http://www.liudon.org/?p=102

如果没有生成d.txt,则说明云平台无法访问站点的接口文件,问题处在云平台访问站点接口文件这里。云平台无法访问站点的接口文件的原因,可能是服务器上有防火墙或者新域名还未完全生效。

建议您按上面的验证方法自行进行一下验证,如果自己解决不了,希望您在官方发帖求助的时候可以贴上您验证的结果,方便我们定位问题。

标签: x2, 云平台

添加新评论