xmpp リクエストを Openfire に送信するように punjab を構成する
質問
Openfire でパンジャブ接続マネージャーを使用しようとしています。すでに Openfire サーバーが実行されています。punjab もインストールしました。サーバーは適切に起動し、ローカルホストのポート 5280 に移動できるようになりました。(それでも http://localhost:5280/http-bind 「表示されていないメッセージ」を提供します。)ここからどのように進むかはわかりません。openfire 管理コンソールの接続マネージャーで、「接続マネージャーはこのサーバーに接続できます。」という設定を有効にしました。「。」
xmpp サーバーに接続するように punjab を設定するにはどうすればよいですか?
これまで、Apache の xmpp stophe lib とプロキシ モジュールを使用して、サーバーへの bosh 接続を直接確立していました。ここではパンジャブ語を使用したいと思います。
解決
昨日も同じ質問がありましたが、解決することができました。
そうです。punjab の設定は必要ありません。デフォルトでは、punjab はポート 5280 で動作します。Punjab は、スタンザを目的のサーバーに自動的に送信します。
<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」属性が表示されます。パンジャブ州では、これにより、どの XMPP サーバーと通信すべきかがわかります。
Openfire での接続マネージャーのセットアップのことは忘れてください。この機能は完全に無効にしておくことができます。これは、punjab が通常のクライアントと同様に、Openfire への通常の XMPP 接続を使用し、デフォルトのポート 5222 で通信するためです。
それであなたがしなければならないのは
- パンジャブに聞くべきURLを教えてください
- パンジャブのデフォルト ポート 5280 でその URL への BOSH リクエストをプロキシします。
パンジャブに聞く URL を教えてください
punjab.tac ファイルには次のような行があります。
root.putChild('bosh', b) # url for BOSH
したがって、「bosh」は、strophe がスタンザを送信する必要がある URL の一部になります。 http://www.yourdomain.tld/bosh. 。「/bosh」は「/http-bind」または「/xmpp-httpbind」である場合もありますが、punjab.tac ファイルはこれを認識している必要があります。
BOSH リクエストをパンジャブのデフォルト ポート 5280 上の URL にプロキシします。
次に、Web サーバーは「/bosh」に送信されたリクエストを処理し、ポート 5280 でパンジャブにプロキシする必要があります。Apache を使用していると仮定すると、仮想ホスト構成では次のようになります。
<IfModule proxy_http_module>
ProxyRequests Off
ProxyPass /bosh http://localhost:5280/bosh
ProxyPassReverse /bosh http://localhost:5280/bosh
</IfModule>
他のヒント
私は同じことをしたし、それはあまりにも私の最後で働いていました。詳細な説明をありがとう。
は、それに追加するには、私の場合は混乱の主な理由は、私は別のプロジェクトや複数のプロジェクト同じXMPPサーバーを使用するための異なる仮想ホストを使用していますということでした。もっとオーバー、サーバがlocalhostを、その名前が付けられていないローカルホストにインストールされているが。 「:サーバー:ポートXMPP」(例えばルート=「XMPP:127.0.0.1:5222」私の場合は)誰もが同じような問題に直面しているのであれば、あなたは=ルートを追加する必要があり、すべての要求にそうパンジャブ指示することができないであろうサーバーへ自動的にスタンザ
@Joeます:
あなたのXMPP要求へ...私はやってであなたを試してみて、ご案内いたします。私はあなたはそれが正しいルート属性(ルート=「:dev.mydomain.com 5222 XMPP」)を追加するプラグインStrophe.jsを書くべきだと思います私が仕事から戻ったときに。
あなたのアプリケーションのように見えますが、パンジャブと話すことができますが、パンジャブ州はどこルートにあなたのXMPP要求を知りません。
接続上でアプリケーションがハングがこれを読んですることであろう理由を理解するための良い方法: http://xmpp.org/extensions/xep-0124.htmlについてビットを検索しますルート:)
私は戻ってパンジャブ州の年齢を使用しますがどのようにボッシュ接続マネージャの仕事の私の知識から、私はあなたのサーバーは、パンジャブ州がそれにアクセスすることを可能にするための特別な設定が必要になるとは思いません。例えば私はかかわらず、先のタイプ/種類/バージョン( Jaxl のライブラリを使用して)、PHPで書かれたカスタム接続マネージャを使用しますジャバー・サーバーは、それらと正常に通信することができます。
あなたのケースでは、あなたがでhttp(Apacheのプロキシモジュールを使用して)あなたの詩句のリクエストを簡単なスタートをプロキシすることができます:// localhostを: 5280は、パンジャブ州でCONNによって処理された5280 / HTTPバインドを、。マネージャー。自分からそれをサーバーに必要な特別な設定なしで接続先サーバーにあなたの方法を動作することができる必要があります。
私は、あなたはそれが正しく設定されていることを確認するパンジャブを使用して、GmailやFacebookのアカウントに接続する最初の試みにあなたをお勧めします。