反馈已提交

网络繁忙

容器Websocket方案

  • 文档创建者:Carly
  • 历史版本:11
  • 最近更新:Carly 于 2023-07-14
  • 1. 概述

    1.1 版本

    报表服务器版本
    11.0.2

    1.2 应用场景

    为了降低Websocket配置难度,11.0.2 及之后版本的报表工程,新增了一个容器Websocket方案。

    该方案使用Web容器自带的WebSocket进行连接,端口复用http端口。用户无需对外开启端口,无需任何手动配置。

    当工程支持容器Websocket方案时,前台访问会优先使用新方案,失败后使用老socket.io方案进行重试。

    2. 方案执行步骤

    容器Websocket方案的执行,需要满足以下一些条件和配置。

    2.1 容器环境检验

    容器Websocket方案,仅支持以下容器:

    容器版本说明
    Tomcat

    支持Tomcat8.5~9.0 版本

    -
    WebLogicWeblogic12c及以上版本

    需要修改web.xml名称空间,其他不

    <!--修改web-app如下-->
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns="http://xmlns.jcp.org/xml/ns/javaee"
       xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
       id="WebApp_ID" version="3.1">

    WebSphereWebSphere9及以上版本-
    JBoss

    eap6.4+

    wildly9+

    eap6.4需要修改配置

    web-inf下新增jboss-web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!--Enable WebSockets -->
    <jboss-web>
       <enable-websockets>true</enable-websockets>
    </jboss-web>

    修改${hboss_home}/standalone/configuration/standalone.xml

    将protocol="HTTP/1.1"修改为protocol="org.apache.coyote.http11.Http11NioProtocol"

    若当前工程所在容器环境满足条件,则「管理系统>系统管理>常规」页面不显示「WebSocket设置」。

    2.2 负载均衡配置

    2.2.1 Nginx

    1)修改 http 配置

    在每个 location 块下添加以下语句:

    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $http_connection;

    2)需检查 Nginx 是否进行过 WebSocket 配置

    打开 nginx.conf 文件,查看是否出现以下内容:

    server {  
            #此处为websocket端口,如果是集群部署,FineReport工程为38889,FineBI工程为48889
            listen 38889;              
            server_name 192.168.6.181;
            location / { 
                 proxy_http_version 1.1;
                 proxy_pass http://WBS.com;
                 proxy_connect_timeout 75;
                 proxy_read_timeout 400;
                 proxy_send_timeout 400;
                 #升级目标为$http_upgrade 值实际为websocket
         proxy_set_header Upgrade $http_upgrade;
                 #Connection设置升级
         proxy_set_header Connection "upgrade";
                 }
            }

    若未出现以上内容,即未在 Nginx 中配置过 WebSocket ,可直接使用容器化 WebSocket 方案。

    若出现以上内容,即曾在 Nginx 中配置过 WebSocket,需要删除以上内容。如下图所示:

    2.2.2 traefik

    无需额外配置,原ws配置保留/删除不影响容器化WebSocket方案生效。

    2.2.3 f5

    无需额外配置,原ws配置保留/删除不影响容器化WebSocket方案生效。

    2.3 浏览器环境

    • 容器化WebSocket方案支持 Chrome、FireFox、Edge、IE10 及以上版本浏览器。

    • 容器化WebSocket方案不支持 IE9 及以下版本浏览器

    附件列表


    主题: 数据决策系统
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持