ejabberd - BOSH模块未启动

时间:2012-07-25 14:25:15

标签: javascript facebook apache xmpp ejabberd

我正在尝试创建一个自定义的Facebook聊天,我正在使用:

  1. ejabberd
  2. 的strophe
  3. 阿帕奇
  4. 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作为其中一种机制。 有什么想法吗?

3 个答案:

答案 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 旁遮普正在为你添加它,这使它成功。