反饋已提交
網絡繁忙
網路環境暢通是實現整合的重要前提,本篇介紹整合所需的各種網路要求,以及對應網路環境下的部署配置。
注:微信、釘釘、飛書、WeLink 整合的環境準備相似,方案均可參考本文。
配置整合環境的操作,需要兩條網路線路都暢通:
1)報表伺服器上新增微信/釘釘/飛書應用時,需要能夠存取微信/釘釘/飛書伺服器;
2)行動裝置單點登入時,需要能存取報表伺服器。
微信/釘釘/飛書整合配置時,需要調取微信釘釘開發的API來實現單點整合。
在「管理系統」的對應管理頁面,新增應用。對應配置如下:
在同步通訊錄的時候,可以透過API獲取微信/釘釘/飛書後台的一些token,使用者資訊等。對應配置如下:
微信釘釘伺服器提供的API格式如下:
微信:https://qyapi.weixin.qq.com/cgi-bin/xxxx
釘釘:https://oapi.dingtalk.com/xxxx
飛書:https://open.feishu.cn/open-apis/xxxx
網路要求:
故為保證整合正常配置,需要保證報表伺服器能夠正常存取微信/釘釘伺服器,正常呼叫這些API獲取資訊。
影響:
若報表伺服器無法存取微信/釘釘伺服器,則在上述應用新增和通訊錄同步階段,會因為網路異常而操作失敗。
在整合環境下,若範本中配置有檔案上傳元件,在上傳圖片以後,圖片會儲存到微信/釘釘對應伺服器上,提供一個圖片路徑 url 給範本存取,此時需要報表伺服器能夠存取對應圖片儲存伺服器,保證圖片的正常載入。
微信釘釘圖片儲存路徑對應域名如下:
微信:https://qyapi.weixin.qq.com/xxx
釘釘:https://static.dingtalk.com/xxx
微信:由於微信圖片儲存的域名與上述 2.1.1 中API呼叫域名一致,故不需要單獨配置網路。
釘釘:釘釘圖片儲存的域名與釘釘API呼叫的域名不一致,需要單獨開放網路,確定報表伺服器可以存取圖片儲存域名伺服器。
如果這部分網路受阻,對釘釘整合環境整體使用沒有影響,但是在整合環境下,範本中檔案元件上傳圖片以後,對應圖片不會顯示在檔案元件欄中。
整合配置完後,通常是需要使用行動裝置來存取報表平台地址,查看對應的範本資料。
由於微信管理平台對整合的地址有一定的要求,故報表伺服器一定是可以被外網存取的,並且一定是域名地址,不能用 IP 地址。
域名地址舉例http://xxx.xxx.com:xxx/webroot/decision。如果是http://IP:xxx/webroot/decision,是不可以做微信整合的。
注:請使用二級或二級以上域名,且需透過 ICP 備案。
當報表伺服器配置好域名存取地址以後,需要將對應的域名地址填寫到「微信管理>報表伺服器地址」欄中,點選「儲存」。
這裏伺服器地址格式的填寫要求如下:
釘釘管理平台對整合的地址沒有域名的限制,只需要可以被外網存取即可(PS:因為行動裝置一般是在外網網路環境下存取平台的)。故報表伺服器可以是外網域名地址,也可以是外網 IP 地址。
當報表伺服器配置好外網存取地址以後,需要將對應的外網地址填寫到「釘釘管理>報表伺服器地址」欄中,並「儲存」。
與微信釘釘相同,見上文。
對於「2. 網路要求」中,提到的網路場景,這裏給出較為簡單的檢查方法。
注:檢查網路能夠存取微信/釘釘伺服器,不可以透過直接將微信釘釘域名輸入瀏覽器中來檢查。
在報表環境所在的伺服器上,開啟 cmd 命令行視窗, ping 對應的微信/釘釘伺服器域名地址。如下圖所示:
微信伺服器:ping qyapi.weixin.qq.com
釘釘伺服器:ping oapi.dingtalk.com
釘釘圖片儲存伺服器:ping static.dingtalk.com
飛書伺服器:pingopen.feishu.cn
注:這裏ping的是微信釘釘API呼叫對應的域名,而並非登入微信釘釘後台管理平台的地址,例如微信管理平台域名為 work.weixin.qq.com ,與API呼叫的域名不一致。
3.1.2 方案二:微信釘釘除錯工具檢查
如何使用除錯工具參考文檔: 微信釘釘除錯工具
若檢查如下結果,說明網路暢通。
若檢查如下異常,則說明網路異常,需要網路管理者調整網路環境。
用行動裝置,比如手機,在手機瀏覽器中存取平台地址http://xxxx:xxx/webroot/decision,看能否顯示報表登入頁。
能顯示則說明網路暢通;存取失敗則說明網路異常。
若在「3. 網路檢查」 中檢查兩條網路線路均正常,則請查看文檔 微信管理 和 釘釘管理,可以進行對應的微信釘釘整合配置。
若兩條線路任意一條線路存取有問題,可以請專門的網路管理者,對網路配置進行調整,進而實現兩條線路雙方通訊。
部分使用者,基於網路安全的考慮,可以透過 IP 外網映射實現「2.2 行動裝置存取報表伺服器」的網路要求,但是無法讓報表伺服器存取到微信伺服器,針對這種場景,這裏提供一個解決方案:
使用代理伺服器實現報表伺服器存取微信/釘釘/WeLink/飛書伺服器的網路要求。
配置步驟如下:
1)找一台伺服器作為代理伺服器,透過這台代理伺服器接收報表伺服器傳送的網路請求,並將請求轉發至微信/釘釘伺服器
以圖例為例,報表伺服器可以存取代理伺服器,代理伺服器可以存取微信/釘釘伺服器。
2)在代理伺服器172.16.0.12上,安裝nginx,下載安裝配置見:代理伺服器配置
3)在代理伺服器上配置 nginx 的正向代理。修改配置檔案conf/nginx.conf,在http{}之間新增如下程式碼:
微信伺服器正向代理:
server { listen 8113; // 微信代理伺服器埠 server_name 172.16.0.12; //代理伺服器IP location / { proxy_redirect off; proxy_pass https://qyapi.weixin.qq.com;#微信伺服器域名地址 } location = /favicon.ico { log_not_found off; }}
釘釘伺服器正向代理
server { listen 8114; // 釘釘代理伺服器埠 server_name 172.16.0.12; //釘釘代理伺服器IP location / { proxy_redirect off; proxy_pass https://oapi.dingtalk.com; #釘釘伺服器域名地址 } location = /favicon.ico { log_not_found off; }}
WeLink伺服器正向代理
server {listen 8115; # welink代理伺服器埠server_name 192.168.5.137; # welink代理伺服器IPlocation / {proxy_redirect off;proxy_pass https://open.welink.huaweicloud.com; #welink伺服器域名}location = /favicon.ico {log_not_found off;}}
飛書伺服器正向代理
server {listen 8116; # 飛書代理伺服器埠server_name 192.168.5.137; # 飛書代理伺服器IPlocation / {proxy_redirect off;proxy_pass https://open.feishu.cn; #飛書伺服器域名}location = /favicon.ico {log_not_found off;}}
4)nginx 配置好以後啟動,然後在平台上微信/釘釘管理的「應用快捷配置>代理伺服器地址」中新增對應代理地址即可。
上述實體中對應的配置如下:
微信管理配置代理伺服器地址為:http://172.16.0.12:8113
釘釘管理配置代理伺服器地址為:http://172.16.0.12:8114
WeLink管理配置代理伺服器地址為:http://192.168.5.137:8115
飛書管理配置代理伺服器地址為:http://192.168.5.137:8116
5)測試連結透過後「儲存」,則網路環境配置完成。
可以查看文檔 微信管理 、釘釘管理、WeLink整合、飛書整合,進行對應的整合配置。
注 1 :快捷配置中的代理伺服器配置項,僅在報表環境需要配置正向代理轉發時使用。
注 2 :2.1 報表伺服器存取微信/釘釘伺服器網路要求滿足的情況下,代理伺服器這裏不要填寫!
注 3 :平台地址,外網映射的ip/域名,範本地址,以及各類連結等,均不可以填寫至代理伺服器配置項中!
常用的微信/釘釘整合,都是使用的公網伺服器,即微信/釘釘後台管理平台地址如下:
微信:https://work.weixin.qq.com/wework_admin/loginpage_wx
釘釘:https://oa.dingtalk.com/index.htm#/login
飛書:https://open.feishu.cn/app/cli_a14fd2b47b3a9013/overview
部分使用者的微信/釘釘/飛書伺服器做了私有化部署,單獨搭建了一套伺服器環境,針對這種場景,也有對應的配置方案.
配置方案
1)獲取私有化微信/釘釘伺服器的API地址。
由於伺服器私有部署,對應伺服器的API呼叫域名就不能用公網的域名,需要在環境部署階段,瞭解微信/釘釘官方文檔,獲取對應私有化部署的伺服器API呼叫域名,這裏舉兩個例子:
例:微信私有化環境API域名為:https://private.weixin.com ;釘釘私有化環境API域名為:https://private.dingtalk.com
注:實際私有化部署伺服器對應的API地址,請透過微信/釘釘官網部署文檔查看獲取。
2)檢查報表伺服器存取私有伺服器的網路情況。
參照 「 3.1.1」命令行檢查方法,在報表伺服器上ping對應的微信釘釘API域名。
微信伺服器: ping private.weixin.com
釘釘伺服器: ping private.dingtalk.com
飛書伺服器: ping open.feishu.cn
3)接 「步驟2)」的檢查結果,若 ping 通,則直接將微信釘釘的私有化域名填寫至代理伺服器頁面,如圖所示,私有化部署網路環境配置完成,可以查看說明文檔 微信管理 和 釘釘管理,進行對應的微信釘釘整合配置。
微信代理伺服器配置:
釘釘代理伺服器配置:
飛書與微信釘釘步驟相同,見上文。
4)接「步驟2)」的檢查結果,若ping不通,顯示網路逾時或者丟包等結果,則需要參考 「 4.2 網路不通」 ,配置正向代理實現
網路要求:報表伺服器可以存取代理伺服器,代理伺服器可以存取私有化部署的微信釘釘伺服器。
正常安裝nginx後,修改nginx正向代理配置檔案,將配置程式碼中的微信/釘釘伺服器地址,改成私有化伺服器的地址。
微信伺服器正向代理
server { listen 8113; // 微信代理伺服器埠 server_name 172.16.0.12; //代理伺服器IP location / { proxy_redirect off; proxy_pass https://private.weixin.com;#微信私有伺服器域名地址 } location = /favicon.ico { log_not_found off; }}
server { listen 8114; // 釘釘代理伺服器埠 server_name 172.16.0.12; //釘釘代理伺服器IP location / { proxy_redirect off; proxy_pass https://private.dingtalk.com; #釘釘私有伺服器域名地址 } location = /favicon.ico { log_not_found off; }}
飛書伺服器代理與微信釘釘相同
server { listen 8115; // 代理伺服器埠 server_name 172.16.0.12; //代理伺服器IP location / { proxy_redirect off; proxy_pass https://private.feishu.com; #私有伺服器域名地址 } location = /favicon.ico { log_not_found off; }}
5)nginx 配置好以後啟動,然後在平台上微信/釘釘管理的「應用快捷配置>代理伺服器地址」中新增對應代理地址即可。
測試連結透過後「儲存」,則網路環境配置完成。
飛書伺服器代理與微信釘釘相同,見上文
完成環境準備後,可以查看說明文檔 微信管理 、 釘釘管理 和飛書整合 ,進行對應的整合配置。
報錯資訊:{"errorCode":10010006,"errorMsg":"獲取token失敗,weixin傳回資訊為:{}"}
排查步驟:3.1.1節能ping通微信服務,用 3.1.2 節測試工具就會報錯「網路異常」。但網路沒有問題
報錯原因:可能伺服器可以存取到微信伺服器卻配置了代理,刪掉代理伺服器即可。
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙