我正在尝试创建一个自定义的Facebook聊天,我正在使用:
apache在一台电脑上,而ejabberd在另一台机器上,我使用
代理我的请求<Proxy *>
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Proxy>
ProxyPass /http-bind http://my_bosh_domain:5280/http-bind/ nocanon
ProxyPassReverse /http-bind http://my_bosh_domain:5280/http-bind/
我记录了我的请求并收到以下错误:
bosh module not started
当我从浏览器中检查http://my_bosh_domain:5280/http-bind/
时,我可以看到:
ejabberd mod_http_bind
An implementation of XMPP over BOSH (XEP-0206)
This web page is only informative. To use HTTP-Bind you need a Jabber/XMPP client that supports it.
我错过了什么?
更新
我已将代理设置更改为:
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
现在我收到以下回复:
<body xmlns='http://jabber.org/protocol/httpbind' xmlns:xmpp='urn:xmpp:xbosh'
xmlns:stream='http://etherx.jabber.org/streams' sid='6093aa55412842f7be3de1b33fd2a307df4ae2fa' wait='60'
requests='2' inactivity='120' maxpause='120' polling='2' ver='1.8' from='chat.facebook.com' secure='true'
authid='3105619037' xmpp:version='1.0'>
<stream:features xmlns:stream='http://etherx.jabber.org/streams'>
<mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>
<mechanism>SCRAM-SHA-1</mechanism>
<mechanism>DIGEST-MD5</mechanism>
<mechanism>PLAIN</mechanism>
</mechanisms>
<c xmlns='http://jabber.org/protocol/caps' hash='sha-1' node='http://www.process-one.net/en/ejabberd/'
ver='TQ2JFyRoSa70h2G1bpgjzuXb2sU='/>
<register xmlns='http://jabber.org/features/iq-register'/>
</stream:features>
这是错误的我期待将X-FACEBOOK-PLATFORM作为其中一种机制。 有什么想法吗?
答案 0 :(得分:0)
上次我遇到这个问题(我现在再次拥有它;-))问题是我需要添加我尝试使用“hosts”配置选项访问BOSH服务器的HTTP主机。 / p> 祝你好运!
答案 1 :(得分:0)
经过一个多星期的奋斗,我开始工作,我切换到punjab而不是节点服务器,一切正常。基本上结构是:
Strophe.js&lt; - &gt; Apache(代理)&lt; - &gt;旁遮普&lt; - &gt; Facebook XMPP服务器
答案 2 :(得分:0)
请参阅BOSH module not started: Ejabberd / Strophe setup issue。
你可能没有在Strophe页面的用户名字段中使用name @ host 旁遮普正在为你添加它,这使它成功。