我已经在我的机器上安装了 ejabberd 并且运行良好。
localhost:5280/admin
localhost:5280/http-bind
它还显示“ejabberd mod_http_bind An implementation of XMPP over BOSH (XEP-0206)”我想它工作正常。
当我尝试与 Strope 创建连接时,我得到的连接状态为CONNFAIL
.
我的代码如下:
var conn = new Strophe.Connection('http://localhost:5280/http-bind');
conn.connect(data.jid, data.password, function (status) {
// jid=user@localhost
if(status===Strophe.Status.CONNECTING){
alert('connecting...!!');
}
if(status===Strophe.Status.AUTHFAIL){
alert('auth failure...!!');
}
if(status===Strophe.Status.CONNFAIL){
alert('connection falied !!');
}}
我不断得到CONNFAIL
.
我还添加了 proxypasshttp://localhost:5280/http-bind
在 apache httpd.conf 文件中。
我不知道出了什么问题。
要调试 ejabberd 是否真正接收到您的 Bosh 请求,请使用以下命令重新启动 ejabberd{log_level, 5}
(将其设置在您的/etc/ejabberd/ejabberd.cfg
文件)。然后,当您使用 strope 连接到 ejabberd 时,通过执行以下操作来监视日志tail -f /var/log/ejabberd/ejabberd.log
。如果您没有看到任何内容,则意味着您的请求在代理上下文中的某个位置失败。如果您确实看到某些内容,请使用相关日志更新您的问题,以便我们更好地帮助您。
或者您可以更新log_level
通过 ejabberd 调试 shell 即时运行:
$ sudo ejabberdctl debug
....
Eshell V5.8.5 (abort with ^G)
(ejabberd@localhost)1> ejabberd_loglevel:set(5).
{module,ejabberd_logger}
(ejabberd@localhost)2>
Note:我假设标准安装路径ejabberd.cfg
and ejabberd.log
。如果您有备用安装前缀,请相应更新路径。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)