3

マシンに ejabberd をインストールしましたが、正常に動作しています。

localhost:5280/admin

localhost:5280/http-bind

また、「ejabberd mod_http_bind An implementation of XMPP over 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ます。

http://localhost:5280/http-bindまた、apache httpd.conf ファイルにproxypass を追加しました。

何が問題なのかわかりません。

4

1 に答える 1

1

To debug whether ejabberd is really receiving your Bosh requests, restart ejabberd with {log_level, 5} (set this inside your /etc/ejabberd/ejabberd.cfg file). Then as you are making connection to ejabberd using strophe, watch for logs by doing tail -f /var/log/ejabberd/ejabberd.log. If you don't see anything, it means your requests are failing somewhere within proxy context. If you do see something, kindly update your question with relevant logs for us to help you out better.

Alternately you can update log_level on the fly via ejabberd debug 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: I assumed standard installation paths for ejabberd.cfg and ejabberd.log. If you have an alternate install prefix, kindly update the paths accordingly.

于 2012-11-01T05:33:25.703 に答える