反馈已提交

网络繁忙

容器Websocket方案

  • 文档创建者:Suki陈
  • 历史版本:2
  • 最近更新:Suki陈 于 2023-06-29
  • 1. 概述

    1.1 版本

    FineDataLink 版本
    4.0

    1.2 应用场景

    为了降低 Websocket 配置难度,FineDataLink 工程支持容器 Websocket 方案。

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

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

    2. 方案执行步骤

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

    2.1 容器环境检验

    容器 Websocket 方案,仅支持以下容器(容器环境一般是由用户自行准备,非 FineDataLink 自带)

    容器版本说明
    Tomcat

    支持Tomcat7.0.47~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及以上版本-
    JBosseap6.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 及以下版本浏览器

    附件列表


    主题: 管理系统
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

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

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

    不再提示

    10s后关闭

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