使用与ejabberd波什的strophe连接失败时,连接到JID在localhost帐号(Conn

2019-08-02 04:16发布

我已经安装了机及其运行罚款ejabberd。

localhost:5280/admin

localhost:5280/http-bind

它也显示“ejabberd mod_http_bind XMPP的通过BOSH的实现(XEP-0206)”我想这是工作的罚款。

当我尝试创建的strophe的连接,我得到的连接状态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

我还添加了的ProxyPass http://localhost:5280/http-bind在Apache的httpd.conf文件。

我无法弄清楚是什么问题。

Answer 1:

要调试ejabberd是否真的收到您的波什的请求,重新启动ejabberd与{log_level, 5}设置这个你里面/etc/ejabberd/ejabberd.cfg文件)。 然后,当你正在使用的strophe,注意做日志创建连接到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>

注:我假设标准安装路径ejabberd.cfgejabberd.log 。 如果你有一个备用安装前缀,请更新相应的路径。



文章来源: Connection failure when using strophe with ejabberd bosh to connect to jid account on localhost