1

如何设置 WebSocket 将监听的端口?我正在尝试在 OpenShift 上部署 Meteor,但是他们有一个 nodejs-proxy 服务器,它侦听端口 8000 而不是 80,并重定向到我的 Meteor 守护程序。它可以正常工作,因为手动创建的 WebSocket 对象可以正常工作。

我设置了 ROOT_URL 但没有成功。它出现在浏览器上,定义如下:

process.env.ROOT_URL = 'http://' + process.env.OPENSHIFT_APP_DNS + ':8000'

我正在使用这个快速入门:https ://github.com/openshift-quickstart/openshift-meteorjs-quickstart 。请参阅文件 meteorshim.js 以供参考。

一切正常,包括长轮询。

4

2 回答 2

6

我为此苦苦挣扎了一段时间,并尝试了不同的方法。在 OpenShift 中对我有用的解决方案是:

设置 DDP_DEFAULT_CONNECTION_URL 变量

//for http
process.env.DDP_DEFAULT_CONNECTION_URL = 'http://' + process.env.OPENSHIFT_APP_DNS + ':8000'
//for ssl
process.env.DDP_DEFAULT_CONNECTION_URL = 'https://' + process.env.OPENSHIFT_APP_DNS + ':8443'

根据这篇博文

于 2014-08-14T01:33:39.767 回答
0

只需使用环境变量PORT

所以我猜:

process.env.PORT = 8000
process.env.ROOT_URL = 'http://' + process.env.OPENSHIFT_APP_DNS

要专门在不同的端口上设置 websockets 并让流星在不同的端口上运行,我不太确定这是否可行。

于 2013-10-18T14:09:32.370 回答