1. 概述
1.1 版本
报表服务器版本 |
---|
11.0 |
1.2 应用场景
本文将介绍在单机环境下,如何配置 WebSocket 端口。
注:11.0.2 及之后版本的报表工程,新增了一个容器Websocket方案。推荐优先查看是否可使用该方案:容器Websocket方案
无需任何用户操作,无需任何手动配置,无需额外开启端口,系统可自动使用Web容器自带的WebSocket进行连接,端口复用http端口。
2. 示例
2.1 修改字段值
超级管理员可通过「fine_conf_entity可视化配置插件」修改 WebSocket 端口。重启服务器后设置生效。
注:修改 FineDB 数据库表字段值的方法请参考 FineDB 常用表字段修改 。
端口 | JAR 包 | ID | 默认值 | 设置范围 | 是否支持 设置多个值 |
---|---|---|---|---|---|
Websocket 端口 | - | WebSocketConfig.port | ["38888", "39888"] | 参数值为端口数组["port1","port2"] port均属于区间(1024,65535] | 支持 |
Websocket 转发端口 | 2019-11-08 之前 | WebSocketConfig.requestPort | 38889 | 支持 | |
2019-11-08 及之后 | WebSocketConfig.requestPorts | 38889 | 支持 |
设置端口号时有一些注意事项:
1)端口号可设置范围:1024~65535,若为多个值,设置格式为:[端口号1,端口号2,端口号3]。
2)建议「WebSocket端口」设置多个值,作为备用,防止一台服务器部署了多个工程,端口被占用。
3)不要设置端口号为服务器远程连接端口 3389。
4)不要重复设置某个端口号既是 WebSocket 端口,又是 WebSocket 转发端口。
5)若 WebSocketConfig.port、WebSocketConfig.requestPort、WebSocketConfig.requestPorts 字段后面有空格,配置不生效。
6)若 WebSocketConfig.port、WebSocketConfig.requestPort、WebSocketConfig.requestPorts 大小写错误,配置不生效。
7)WebSocketConfig.requestPort 和 WebSocketConfig.requestPorts 不能同时存在于 fine_conf_entity 表中,否则会出错。
2.2 开放端口
若防火墙开启,可关闭防火墙,或者单独开放端口。
若云服务器有安全组或者类似的内容,需要设置端口对外开放。
2.3 重启工程
重启 FineReport 工程。
重启工程时,需要杀死工程下运行的进程,等待 2 分钟端口释放后,再重启工程,否则有可能重启失败。
2.4 效果预览
按照WebSocket端口>>WebSocket转发端口的顺序,即如果使用默认值端口,按照「38888,39888,38889」的顺序依次尝试监听。
如果有一个端口建立监听成功,则不再尝试其他端口。
如果所有端口都无法与系统服务器建立监听,会进入部署向导页面,引导修改监听端口列表,相关功能会受到影响。
此时请重新配置WebSocket端口和WebSocket转发端口,直到有可用端口。