websocket 配置问题:

直接通过 BI 服务器 IP 访问,不会出现该问题

如果通过客户外层 nginx 域名访问的话,我们正常要求客户 nginx 里配置协议升级,这样才能正常使用 websocket 的能力提高性能,协议升级的nginx配置如下:

location / {
      proxy_set_header Upgrade $http_upgrade;  # 1 必须
      proxy_set_header Connection "Upgrade";  # 2 必须
      proxy_pass http://127.0.0.1:7000;
}

但是如果客户没有如上配置,会报错如下:

websocket配置问题 - 图1

需要在 web 和 inner-web 容器里添加如下环境变量:

ENABLE_XHR_POLLING: "true" # 开启长轮询,如果websocket协议升级失败