Demeteorizer 编译流星应用程序并导致 WebSocket 连接错误?
Posted
技术标签:
【中文标题】Demeteorizer 编译流星应用程序并导致 WebSocket 连接错误?【英文标题】:Demeteorizer compiles meteor app and causes WebSocket connection error? 【发布时间】:2014-04-21 14:01:30 【问题描述】:我有节点在 nginx 后面运行。在本地测试服务器上,我的流星应用程序运行良好(我使用的是默认流星安装)。当这个应用程序被分解并上传到服务器时(我使用的是 Nginx+node),错误发生在脚本的一部分。
应用程序正常,但数据读取被阻止。有什么建议吗?
到 'ws://www.all**.com/sockjs/867/rfk8snwm/websocket' 的 WebSocket 连接失败:WebSocket 握手期间出错:意外响应代码:400
非常感谢。
【问题讨论】:
【参考方案1】:引用meteorpedia:
对于 nginx 上的 websockets 支持,您需要版本 >=1.4 并使用以下配置:
location /sockjs/
proxy_pass http://APP_LOCATION;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
将 APP_LOCATION 替换为您的代理服务器定义或 url 等。
升级/连接行支持 WebSockets。
如果您无法将您的 nginx 安装升级到 1.4 或更高版本,那么您需要通过在系统上设置以下环境变量来明确禁用流星中的 websocket:
DISABLE_WEBSOCKETS=1
这将确保正确绕过 websocket 以支持 sockjs 后备。
【讨论】:
以上是关于Demeteorizer 编译流星应用程序并导致 WebSocket 连接错误?的主要内容,如果未能解决你的问题,请参考以下文章