2

Openfireでパンジャブ接続マネージャーを使用しようとしています。私はすでにOpenfireサーバーを実行しています。また、punjabをインストールしましたが、サーバーが正常に起動し、ローカルホストのポート5280に移動できるようになりました。(http:// localhost:5280 / http-bindは「リソースが見つかりません」というメッセージを表示しますが。)ここから先に進む方法がわかりません。openfire管理コンソールの接続マネージャーで「接続マネージャーはこのサーバーに接続できます」という設定を有効にしました。

xmppサーバーに接続するようにpunjabを構成するにはどうすればよいですか?

これまでのところ、apacheでxmpp stophe libとプロキシモジュールを使用して、サーバーへのbosh接続を直接確立していました。今はパンジャブを使いたいです。

4

4 に答える 4

1

私は昨日同じ質問をして、それを解決することができました。

それは正しいです-あなたはパンジャブの設定を必要としません。デフォルトでは、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'属性が表示されます。Punjabは、これからどのXMPPサーバーと通信するかを判断できます。

Openfireの接続マネージャーのセットアップを忘れてください。この機能を完全に無効にしておくことができます。これは、punjabがOpenfireへの通常のXMPP接続を使用するためです(通常のクライアントと同じように)。デフォルトのポート5222で通信します。

だからあなたがしなければならないのは

  • 聞くURLをpunjabに伝えます
  • パンジャブのデフォルトポート5280でそのURLにプロキシBOSHリクエスト

聞くURLをpunjabに伝えます

punjab.tacファイルには、次のような行があります。

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リクエスト

次に、Webサーバーは「/ bosh」に送信されたリクエストを処理し、ポート5280でパンジャブにプロキシする必要があります。Apacheを使用すると、仮想ホスト構成で次のようになります。

<IfModule proxy_http_module>
    ProxyRequests Off 
    ProxyPass /bosh http://localhost:5280/bosh
    ProxyPassReverse /bosh http://localhost:5280/bosh
</IfModule>
于 2010-11-04T09:58:08.127 に答える
1

私も同じことをしましたが、それは私の最後でもうまくいきました。詳細な説明ありがとうございます。

さらに、私の場合の混乱の主な理由は、プロジェクトごとに異なる仮想ホストを使用しており、複数のプロジェクトが同じxmppサーバーを使用していることです。さらに、サーバーはローカルホストにインストールされていますが、ローカルホストという名前ではありません。したがって、誰かが同様の問題に直面している場合は、すべてのリクエストにroute ='xmpp:server:port'(たとえば、私の場合はroute ='xmpp:127.0.0.1:5222')を追加する必要があります。そうしないと、punjabは送信できません。スタンザは自動的にサーバーに送られます

于 2010-11-06T07:44:45.483 に答える
1

@ジョー:

正しいルート属性(route ='xmpp:dev.mydomain.com:5222')をxmppリクエストに追加するStrophe.jsプラグインを作成する必要があると思います...仕事から戻ってください。

アプリケーションはpunjabと通信できるようですが、punjabはxmppリクエストをどこにルーティングするかを認識していません。

アプリケーションがConnectingでハングする理由を理解する良い方法は、これを読むことです:http: //xmpp.org/extensions/xep-0124.htmlルートに関するビットを検索します:)

于 2010-12-21T15:44:14.150 に答える
0

私は昔からPunjabを使用していましたが、bosh接続マネージャーがどのように機能するかについての知識から、Punjabがアクセスできるようにするためにサーバーに特別な設定は必要ないと思います。たとえば、PHPで記述されたカスタム接続マネージャー(Jaxlライブラリを使用)を使用します。これは、宛先のjabberサーバーのタイプ/種類/バージョンに関係なく、正常に通信できます。

あなたの場合、(apacheプロキシモジュールを使用して)ストローフィリクエストのプロキシをhttp:// localhost:5280 / http-bindに簡単に開始できます。ここで、5280はPunjabconnによって処理されます。マネジャー。それ以降は、サーバーで特別な構成を必要とせずに、宛先サーバーに到達できるはずです。

まず、Punjabを使用してGmailまたはFacebookアカウントに接続して、正しく構成されていることを確認することをお勧めします。

于 2010-10-26T13:26:32.763 に答える