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 個の小さなギアを使用するスケーリングされたアプリケーションです。