Bosh 使用 openfire 设置

Posted

技术标签:

【中文标题】Bosh 使用 openfire 设置【英文标题】:Bosh Set up using openfire 【发布时间】:2011-07-01 05:28:06 【问题描述】:

我在 windows 中使用 openfire 来设置 bosh 连接管理器...安装成功,但是我给出了 url http://localhost:9090/bosh 它说

HTTP 错误:404

未找到 RequestURI=/http-bind/

由 Jetty 提供支持://

试过http://localhost:9090/http-bind/ 给出同样的错误

任何人都可以给我打电话吗? 我该如何排除故障 谢谢

【问题讨论】:

【参考方案1】:

尝试将端口设置为7070 我相信这是 Openfire 的默认 BOSH 端口。转到管理控制台并检查 http 绑定(bosh 所做的是将 xmpp 协议绑定到 http 请求响应模型......基本上)

http://127.0.0.1:9090/http-bind.jsp

编辑:实际上你所说的“给出网址”是什么意思?你把它放到浏览器中了吗? 管理控制台网址是http://127.0.0.1:9090/index.jsp

【讨论】:

【参考方案2】:

尝试使用POST,而不是包含<body/> 元素的GET,如XEP-0206 中所指定:

POST /bosh HTTP/1.1
Host: localhost
Content-Type: text/xml; charset=utf-8
Content-Length: 275

<body content='text/xml; charset=utf-8'
      from='user@localhost'
      hold='1'
      rid='1573741820'
      to='localhost'
      wait='60'
      xml:lang='en'
      xmpp:version='1.0'
      xmlns='http://jabber.org/protocol/httpbind'
      xmlns:xmpp='urn:xmpp:xbosh'/>

【讨论】:

这不是一个文件。它是您使用 HTTP 发送的协议。您需要使用像 Strophe.js (code.stanziq.com/strophe) 这样的库来发送该协议。 是的,我正在使用 strophe.js,但即便如此我也遇到了这个错误 我无法通过 https 访问 openfire:--127.0.0.1:9091/http-bind.jsp【参考方案3】:

BOSH 请求需要一个 BODY。

如果您的HTTP Bind Settings 不允许Script Syntax,那么您将收到404 GET 请求错误。如果您启用脚本语法,即允许访问受限的 BOSH 客户端连接到服务器,那么您将收到一个 GET 请求的400 错误,因此您至少会知道 Jetty 正在侦听该端口。

要发送有效请求,您应该使用正文发出 POST 请求,例如使用 cURL 您可以运行(为清楚起见添加了换行符):

curl -X POST -d "<body content='text/xml; charset=utf-8' 
    from='user@localhost' 
    hold='1' 
    rid='1573741820' 
    to='localhost' 
    wait='60' 
    xml:lang='en' 
    xmpp:version='1.0' 
    xmlns='http://jabber.org/protocol/httpbind' xmlns:xmpp='urn:xmpp:xbosh'/>" 
        http://desktop-nquceg9:7070/http-bind/

【讨论】:

【参考方案4】:

尝试在 http://127.0.0.1:9090/http-bind.jsp

处将 Script Syntax 设置为 Enable

【讨论】:

以上是关于Bosh 使用 openfire 设置的主要内容,如果未能解决你的问题,请参考以下文章

通过 Bosh 进行的 Openfire 带内注册无法与 Strophe/Strophe.register.js 一起使用

strophe 无法通过 websocket 连接 openfire

Openfire 服务器发送空包

用户离线时Openfire发送推送通知

使用 XMPP Strophe BOSH 刷新页面后客户端自动变为不可用

Strophe 无法通过 BOSH 服务器连接到 Facebook