历史版本5 :容器Websocket方案 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

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

支持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及以上版本-
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"

TongWebTongWeb 6、TongWeb 7 版本-

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

2.2 负载均衡配置

类型
配置
nginx若未在Nginx中配置过ws配置,则可直接使用容器化WebSocket方案

若曾在Nginx中配置过ws配置,需要删除原ws配置,修改http配置,添加

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection $http_connection

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

2.3 浏览器环境

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

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