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);
}

因此,请使用“ip”而不是“主机”。为我工作。

于 2014-06-04T11:48:03.767 回答