【问题标题】:Not getting response from openfire server through Strophe BOSH object未通过 Strophe BOSH 对象从 openfire 服务器获得响应
【发布时间】:2015-05-14 05:06:45
【问题描述】:

我是 XMPP 的新手,我想在 XMPP 上开发一个即时消息应用程序。我在 ubuntu 服务器上安装了 openfire,然后我使用 Strophe 库来创建连接对象。但是当我在我的应用程序中输入 JID 和密码时,它会发送请求但没有收到任何节并显示“200 OK”状态。我使用apache2服务器并添加了新的conf文件,但最终它不起作用。

【问题讨论】:

  • 请展示你到目前为止所做的事情
  • 我可以访问 ubuntu 服务器,我在上面安装了 openfire 并启动了 openfire 服务,在服务器上创建了管理员帐户,然后是两个用户。然后我下载 Strophe,然后我打开 Strophe/examples/basic.js javascript 代码,并设置 'var BOSH_SERVICE = ''xx.xx.xx.xx/http-bind''';其中 54.148.195.173 是我的服务器 IP,在 chrome 浏览器中打开 Strophe/examples/basic.html,并使用我创建的用户 JID 和密码之一登录,我的网页中没有“RCV”
  • BOSH_SERVICE = ''xx.xx.xx.xx/http-bind 如果不是 ssl 并且 7443 是启用 ssl,则您缺少端口号 7070
  • 可以在/openfire/logs/下写入部分日志文件
  • 我已经通过在 /etc/apache2/sites-available/ 目录中添加conf文件来绑定端口号7070,并添加以下行 ProxyPass /http-bind example.com:7070/http-bind ProxyPassReverse /http-bind @987654322 @

标签: xmpp openfire xmppframework strophe


【解决方案1】:

经过3天的研究,我发现了错误: 我们必须去 /etc/apache2/site-available/ 并修改 000-default.conf 文件并在其标签内添加以下行(不带双引号):

"ProxyPass /http-bind http://jabber.local:7070/http-bind/"

"ProxyPassReverse /http-bind http://jabber.local:7070/http-bind/"

(注意:使用你的域名或ip地址代替jabber.local)

然后编辑您的 javascript 文件并创建用户 BOSH url : "ip/http-bind" 其中 ip ip 对应于您的远程服务器的相应 IP 地址。

我的错误是,我没有修改 000-default.conf 文件,而是创建了一个包含此标记的新 conf 文件,并且我的 apache 服务器没有考虑此文件,因为它如何知道新文件,这是一个愚蠢的错误,但给我带来了很多麻烦。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-15
    • 1970-01-01
    • 2012-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多