如何设置 WebSocket 将侦听的端口?我正在尝试在OpenShift上部署Meteor,但是他们有一个nodejs代理服务器,可以侦听端口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。请参阅文件陨石.js以供参考。
一切正常,包括长轮询。
我为此挣扎了一段时间,我尝试了不同的事情。在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'
根据这篇博文
只需使用环境变量PORT
所以我猜:
process.env.PORT = 8000
process.env.ROOT_URL = 'http://' + process.env.OPENSHIFT_APP_DNS
要专门在不同的端口上设置 websockets 并让 meteor 在不同的端口上运行,我还不太确定这是否可行。