當前為5.1版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

不額外給WebSocket對外開放埠

1. 概述

1.1 版本

BI 伺服器版本
5.1

1.2 應用場景

部分公司對於工程環境保全等級要求較高,對於開發埠限制較多。

若只開放一個埠,WebSocket 往往無法正常連結。

1.3 功能簡介

在不能申請開放 WebSocket 埠的情況下,可以將socket埠也轉發到開放的埠下。

本文將簡單介紹在 Linux+Nginx+Tomcat 環境下,如何僅開放一個埠8888,仍可正常使用 WebSocket。

2. 範例

2.1 設定websocket轉發埠

1)5.1.2 及之後版本工程

管理者登入數據決策系統,點選「管理系統>系統管理>標準」,設定websocket 請求埠。如下圖所示:

此處設定的埠即為工程唯一對外埠,可自行設定,本文以8888為例。

注1:叢集環境會預設勾選「已配置代理伺服器」,非叢集環境需要手動勾選已配置代理伺服器(表示已經配置nginx)。

注2:11.0.2 及之後版本,新增一個容器 websocket 方案,幫助使用者實現快速配置 websocket 埠。

       若「管理系統>系統管理>標準」頁面不顯示 HTTPS 設定項,說明此方案生效,Websocket 連結已正確配置,無需其他任何手動配置。

1661136649972444.png

2)5.1.2 之前版本工程

超級管理者可透過「fine_conf_entity視覺化配置插件」更改 WebSocketConfig.requestPort 埠號。重啓伺服器後設定生效。

注:修改 FineDB 資料庫表欄位值的方法請參考 FineDB 常用表欄位修改 。

配置項修改規則
WebSocketConfig.requestPort

埠號可設定範圍:1024~65535

本文以 8888 為例

2.2 修改nginx.conf

Nginx 監聽 server 塊下加上對請求 url 包含 /socket.io/ 的分支判斷處理,將socket埠轉發到開放的8888埠下,詳細的配置檔案參考:

...server {        listen 8888;#監聽埠,這個要和上面的WebSocketConfig.requestPort一致        server_name _;        underscores_in_headers on;        location / {            proxy_http_version 1.1;            proxy_pass http://FR.com;            proxy_next_upstream http_500 http_502 http_503 http_504 error timeout invalid_header non_idempotent;            proxy_redirect off;            proxy_set_header Host $host;            proxy_set_header X-Real-IP $remote_addr;            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;            proxy_set_header Connection "";            #proxy_set_header X-Forwarded-Proto "https";            proxy_connect_timeout 20;            proxy_read_timeout 1000;            proxy_send_timeout 300;        }        #這裏匹配/socket.io/轉發給websocket的upstream        location ^~ /socket.io/ {            proxy_pass http://WBS.com;            proxy_http_version 1.1;            proxy_set_header Upgrade $http_upgrade;            proxy_set_header Connection "upgrade";            proxy_connect_timeout 20;            proxy_read_timeout 1000;            proxy_send_timeout 300;        }        ...}...

2.3 重啓服務

重啓 Nginx 和 FineBI 工程後,設定生效。

使用者只需要開放 8888 埠,即可正常使用 BI 工程,正常使用 websocket。

附件列表


主題: 管理员指南
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 评价文档,奖励 1 ~ 100 随机 F 豆!