首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配置punjab向Openfire发送xmpp请求

配置punjab向Openfire发送xmpp请求
EN

Stack Overflow用户
提问于 2010-10-25 18:14:05
回答 4查看 6.4K关注 0票数 2

我正在尝试在Openfire中使用旁遮普连接管理器。我有一个已经在运行的Openfire服务器。我还安装了punjab,并且服务器正常启动,允许我导航到localhost上的端口5280。(尽管http://localhost:5280/http-bind会给出一条“资源未找到”的消息。)我不确定如何从这里开始。我在openfire管理控制台中的连接管理器下启用了一个设置,该设置显示“连接管理器可以连接到此服务器。”

如何配置punjab以连接xmpp服务器?

到目前为止,我使用apache中的xmpp stophe库和代理模块直接建立了到服务器的bosh连接。现在我想使用旁遮普邦。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-11-04 17:58:08

昨天我也遇到了同样的问题,并且已经能够解决了。

这是正确的-您不需要旁遮普的任何配置。默认情况下,punjab将在端口5280上工作。Punjab自动将节定向到所需的服务器。

代码语言:javascript
复制
<body rid='123' xmlns='http://jabber.org/protocol/httpbind' to='yourdomain.tld' xml:lang='en' wait='60' hold='1' content='text/xml; charset=utf-8' ver='1.6' xmpp:version='1.0' xmlns:xmpp='urn:xmpp:xbosh'/>

这是一个用于通过BOSH建立连接的节。您可以看到“to”属性。Punjab可以从中判断要与哪个XMPP服务器通信。

忘了Openfire中的连接管理器设置吧。您可以完全禁用此功能。这是因为punjab使用到Openfire的普通XMPP连接-就像通常的客户端一样-它在默认端口5222上进行通信。

所以你要做的就是

  • 告诉旁遮普要侦听
  • 代理对旁遮普省默认端口5280

上url的请求的url

告诉旁遮普要侦听的url

在punjab.tac文件中有一行如下所示

代码语言:javascript
复制
root.putChild('bosh', b) # url for BOSH

因此,'bosh‘将是strophe必须将其节发送到的URL的一部分,然后将是http://www.yourdomain.tld/bosh。“/bosh”也可以是“/http-bind”或“/xmpp-httpbind”,但punjab.tac文件必须知道这一点。

旁遮普省默认端口5280上url的代理BOSH请求

接下来,您的them服务器必须处理定向到'/bosh‘的请求,并将它们代理到端口5280上的旁遮普。假设您使用Apache,那么在您的虚拟主机配置中,可以执行以下操作:

代码语言:javascript
复制
<IfModule proxy_http_module>
    ProxyRequests Off 
    ProxyPass /bosh http://localhost:5280/bosh
    ProxyPassReverse /bosh http://localhost:5280/bosh
</IfModule>
票数 1
EN

Stack Overflow用户

发布于 2010-11-06 15:44:45

我做了同样的事情,它也在我这一端起作用。谢谢你的详细解释。

除此之外,在我的例子中造成混乱的主要原因是,我对不同的项目使用不同的虚拟主机,而多个项目使用相同的xmpp服务器。此外,尽管服务器安装在localhost上,但它并没有命名为localhost。因此,如果任何人面临类似的问题,那么您需要向所有请求添加route='xmpp: server :port‘(例如,在我的示例中,route='xmpp:127.0.0.1:5222’),否则旁遮普将无法将节自动定向到服务器

票数 1
EN

Stack Overflow用户

发布于 2010-12-21 23:44:14

@Joe:

我认为您应该编写一个Strophe.js插件,为您的xmpp请求添加正确的路由属性( route ='xmpp:dev.mydomain.com:5222')……当我下班回来的时候,我会试着指导你这样做。

看起来您的应用程序可以与punjab通信,但是punjab不知道将您的xmpp请求路由到哪里。

要理解应用程序在连接时挂起的原因,一个好方法是阅读以下内容:http://xmpp.org/extensions/xep-0124.html搜索有关路由的信息:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4013588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档