1

openShift に node.js 0.10 ギアをセットアップし、peerjs-serverに基づく単純なサーバーをデプロイしました。このサーバーに必要なのは、アプリケーションに接続されたピア間の接続情報を通信するシグナリング サーバーとして機能し、それ以降は WebRTC を使用してピア ツー ピアで通信することだけです。デモの「PeerJS Cloud」シグナリング サーバーを指している場合はすべて機能しますが、独自のサーバー設定を使用しようとすると、503 ステータス コードが返され続けます。

私が使用するサーバー作成コードは次のとおりです。

var host = process.env.OPENSHIFT_NODEJS_IP;
var port = process.env.OPENSHIFT_NODEJS_PORT || 8080;

var server = new PeerServer({ port: port, host: host});

注意: ホストを peerjs-server に追加したので、OpenShift の IP を使用できます。これが必要かどうかはわかりませんが、これがないと機能しませんでした。

peerjs-server が使用するサーバーは restify です。サーバーの作成とリッスンのコードは次のとおりです。

this._app = restify.createServer(this._options.ssl);

/* A lot of set up code that I have not changed from peerjs-server */

this._app.listen(this._options.port, this._options.host);

this._options.port と this._options.host は前のコード セグメントで定義されたものであり、SSL を使用していないため、そこには何も渡されていません。

このコードを OpenShift にデプロイするとエラーは発生しませんが、ポート 80 または 8000 (開いている外部ポート) でサイトにアクセスすると 503 が発生します。rhc tail も確認したところ、次のような結果が得られました: スクリーンショット(評判がないため、画像を投稿できません..)。それが何を意味するのか正確にはわかりません。

どんな助けも大歓迎です。さらに情報が必要な場合は、さらに追加できますが、何が重要な情報であるかどうかはわかりませんでした.

更新: これは、1 ~ 3 個の小さなギアを使用するスケーリングされたアプリケーションです。

4

1 に答える 1

1

https://github.com/peers/peerjs-server/blob/master/lib/server.jsから:

// Listen on user-specified port and IP address.
if (this._options.ip) {
  this._app.listen(this._options.port, this._options.ip);
} else {
  this._app.listen(this._options.port);
}

したがって、「host」ではなく「ip」を使用してください。私のために働いた。

于 2014-06-04T11:48:03.767 に答える