代理伺服器配置

1. 概述

1.1 功能簡介

報表伺服器部署在內網,不能存取外網,也不能被外網存取。這種情況下可以透過配置代理伺服器來轉發內網報表伺服器和外部的通訊。

該方案可以解決將 PC 裝置與行動裝置切換至同一網路環境下,才能查看範本的問題。

1.2 場景假設

假設有兩台機器,一台機器 192.168.5.61 作為代理伺服器,一台機器 192.168.5.24 作為內網伺服器。

下面以 Windows 系統為例進行配置。

2. 正向代理配置

2.1 說明

報表伺服器向代理伺服器傳送請求類似http://代理ip:埠/gettoken,代理將請求轉給 oapi.dingtalk.com,進而實現對外部微信/釘釘伺服器的存取。

2.2 步驟

1)代理伺服器下載地址:nginx,這裏以 nginx/Windows-1.14.0 為例,點選下載。

222

2)下載完成後解壓即可使用,點選 nginx.exe,在瀏覽器內輸入http://localhost/ 出現 Nginx 歡迎頁面即部署成功。

222
3)修改配置檔案conf/nginx.conf,在http{}之間新增如下程式碼:

server {
        listen 8114;                           # listen 埠,代理伺服器的埠,可以自訂
        server_name 192.168.5.61;                  # sever_name, 寫的代理伺服器的 IP 地址
        location / {
                proxy_redirect off;
                proxy_pass https://oapi.dingtalk.com;  #轉發地址,以釘釘為例 https://oapi.dingtalk.com,微信類似 https://qyapi.weixin.qq.com
        }
        location = /favicon.ico {
         log_not_found off;
        }     
        }

4)重啟 Nginx,在瀏覽器內輸入http://代理ip:埠/gettoken,比如:http://192.168.5.61:8114/gettoken,有如下釘釘傳回資訊即表示代理伺服器配置成功。

1722242424219315.png


5)安裝釘釘插件後,在釘釘基本資訊頁面裏,填入代理地址後儲存,然後在成員管理裏面同步通訊錄,可以同步即表示正向代理配置成功。

詳情請參見:釘釘整合

3. 反向代理配置

3.1 說明

存取代理伺服器env.finedevelop.com:56108/WebReport/ReportServer?op=fs,代理將請求都轉給內網報表伺服器 192.168.5.24:8080,進而實現對內網報表伺服器的存取。

注:這個屬於標準環境配置,客戶需要根據自己的網路環境自行配置,這裏配置步驟僅供參考。

代理伺服器配了一個埠映射,可以被外網存取 192.168.5.61:8443—>env.finedevelop.com:56108

內網報表伺服器的存取地址是 192.168.5.24:8080/WebReport/ReportServer?op=fs

3.2 步驟

1)代理伺服器的部署同上,下載並安裝 Nginx。

2)修改 Nginx 配置檔案conf/nginx.conf,在http{}之間新增如下程式碼:

server {
        listen 8443;                                                 # listen 埠,代理伺服器的埠,可以自訂
        server_name env.finedevelop.com;                                   # server_name,寫的代理伺服器的地址
        location / {
               proxy_pass http://192.168.5.24:8080;                         # 轉發地址 內網伺服器的 IP 和埠
               proxy_set_header Host env.finedevelop.com:56108;                  # 轉發的請求裏的 host 資訊,,寫的開啟在瀏覽器裏 URL 的地址
        }
       }

3)重啟 Nginx,瀏覽器內輸入env.finedevelop.com:56108/WebReport/ReportServer可以正常登入並存取伺服器,則表示配置成功。

即可透過env.finedevelop.com:56108/WebReport/ReportServer?op=fs存取內網伺服器,同時在 微信/釘釘 管理中也可以同步獲取通訊錄了。

4. 10.0單機下 Apache 代理方案

4.1 說明

Apache 配置了反向代理後,WebSocket 怎麼處理能才能保證功能可用呢?下面將給出詳細的方案。

4.2 步驟

1)下載和安裝

首先下載和安裝好 Apache 伺服器,下載和安裝方法此處不予說明,使用者自行查閱相關資料即可。

2)Apache 模組啟動

%Apache_Home%\conf路徑下, 修改 httpd.conf 檔案,將以下模組的程式碼註釋掉。

LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
LoadModule headers_module modules/mod_headers.so

3)配置 WebSocket 監聽埠

%Apache_Home%\conf路徑下,修改 httpd.conf 檔案,新增 WebSocket 監聽埠38888,如下圖所示:

image2019-7-13_15-53-22.png

4)配置工程 http 代理

%Apache_Home%\conf路徑下,修改 httpd.conf 檔案,在檔案最後新增如下程式碼:

<VirtualHost *:80>
ProxyPass / http://192.168.5.246:8080/
ProxyPassReverse / http://192.168.5.246:8080/
ProxyPreserveHost On
</VirtualHost>

注:程式碼中 80 是 Apache 所監聽的埠,ProxyPass 和 ProxyPassReverse 中的 192.168.5.246:8080 是我們的請求的工程伺服器 IP 和埠。

5)配置 WebSocket 代理

%Apache_Home%\conf路徑下,修改 httpd.conf 檔案,在檔案最後新增如下程式碼:

<VirtualHost *:38888>
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
RewriteRule .* ws://192.168.5.246:38888%{REQUEST_URI} [P]
ProxyRequests Off
ProxyMaxForwards 100
ProxyPreserveHost On
ProxyPass / http://192.168.5.246:38888/
</VirtualHost>

注:程式碼中 38888 是 Apache 所監聽的埠,RewriteRule 和 ProxyPass 中的 192.168.5.246:38888 是需要我們的請求的工程伺服器 IP 和 WebSocket 埠。

6)存取平台

完成上述5個步驟後,在%Apache_Home%\bin路徑下,雙擊 httpd.exe 即可啟動 Apache,在瀏覽器中存取localhost/webroot/decision,即可正常存取平台,如下圖所示:

1722242680722111.png

測試 WebSocket 是否連結成功,如下圖所示:

Ai图片翻译2024060116512图片翻译工作台1722243062.png

注:本文中 WebSocket 埠和 FineReport 伺服器埠均為38888,這是由於 Apache 和 FineReport 工程在不同的伺服器上,因而沒有衝突;但如果在一台伺服器上,則需要將 WebSocket 監聽埠改為38889。

5. 設定代理伺服器地址

可透過「fine_conf_entity視覺化配置插件」設定代理伺服器地址。重啟伺服器後設定生效。

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

配置項
修改規則
MobileConfig.appMsgProxy參數值為非空字串
預設值為_EMPTY_
代理伺服器地址格式為:
http://ip:port/mobile/push/message/send


附件列表


主題: 行動端應用
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

7s后關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙

反饋已提交

網絡繁忙