為 Tableau Server 設定 Proxy 與負載平衡器
在大多數企業中,Tableau Server 需要與 Internet 通訊。Tableau Server 旨在受保護的內部網路內部執行。不要直接在 Internet 或 DMZ 中設定 Tableau Server。相反,您的網路和 Internet 之間的通訊應使用 Proxy 伺服器傳遞。正向 Proxy 伺服器將流量從網路內部傳遞到 Internet 上的目標。反向 Proxy 伺服器與負載平衡其將流量從 Internet 傳遞到網路內部的目標。
誰應閱讀本文?
本文面向擁有一般網路、負載平衡與閘道 Proxy 解決方案經驗的 IT 專業人員。本文論述了 Tableau 如何以及在何時需要網際網路存取權限,以及如何設定網路與 Tableau 以使用 Proxy 伺服器與負載平衡器存取與從網際網路中存取。因為有很多協力廠商 解決方案可供選擇,因此本文的某些內容一定是通用內容。
在配置 Proxy 伺服器之前,請參閱與 Internet 通訊。
設定正向 Proxy 伺服器
若要實現從 Tableau Server 到 Internet 的通訊,請將 Tableau Server 部署在正向 Proxy 伺服器後面。當 Tableau Server 需要存取 Internet 時,它不會將請求直接傳送到 Internet,而是會將請求傳送到正向 Proxy ,後者將會轉寄請求。正向 Proxy 可以幫助管理員針對負載平衡、阻止存取網站等工作管理外流到 Internet 的流量。
如果使用正向 Proxy ,您必須將網路內部執行 Tableau Server 的電腦設定為將流量傳送到正向 Proxy。Tableau Server 不支援直通或手動 Proxy 驗證。
若使用正向 Proxy 解決方案執行 OpenID 驗證,則需要其他設定。請參閱設定 OpenID 以使用正向 Proxy。
配置 Windows 版 Tableau Server 以使用正向 Proxy
用於在 Tableau Server 電腦上設定 Internet 選項的步驟取決於以下哪個方案描述了您的企業的情況:
組織不使用正向 Proxy 解決方案。如果組織未執行 Proxy 解決方案,並且您在其中安裝 Tableau Server 的電腦可與 Internet 通訊,則無需執行此處的過程。
已部署 Proxy 解決方案,並且自動組態檔定義連線設定。如果組織使用自動組態檔(例如 PAC 或
.ins
檔案)來指定 Internet 連線資訊,則您可以在 Windows 的「區域網路 (LAN) 設定」對話方塊中使用此資訊。有關詳情,請參閱 Microsoft 支援網站上的實現瀏覽器設定的自動檢測和設定。已部署 Proxy 解決方案,但未部署自動組態檔。對於此方案,您必須在執行 Tableau Server 的 Windows 電腦上設定 LAN 設定,以便與 Proxy 伺服器的連線在使用者執行身分帳戶的安全上下文下執行。您還必須將
localhost
和其他內部 Tableau Server 執行個體設定為例外。
以下過程描述了最後一種情況的步驟 - 沒有自動組態檔的 Proxy 解決方案,並且 Tableau Server 在 Windows Server 上執行。
附註:如果使用 Tableau Server 的分散式安裝,請在初始伺服器節點和每個附加節點上執行以下過程。
步驟 1:將執行身分服務帳戶新增到「本機管理員」群組
若要執行此程序,您必須以執行身分服務帳戶登入到 Tableau Server 電腦。預設情況下,「本機登入」原則未應用於使執行身分服務帳戶。因此,您必須暫時將執行身分服務帳戶新增到「本機管理員」群組。
如果尚未在電腦上安裝 Tableau Server,請參閱變更執行身分服務帳戶。如果已安裝 Tableau Server 並設定了執行身分服務帳戶,您可以透過登入 TSM Web UI 來確定執行身分服務帳戶名稱。Tableau Server 執行身分服務帳戶列在「組態」視窗的「安全性」索引標籤上。請參閱登入到 Tableau 服務管理員 Web UI。
使用 Microsoft 網站上的為本機群組新增成員中的步驟,將執行身分服務帳戶新增到「本機管理員」群組。設定完正向 Proxy 資訊後,您將從「本機管理員」群組中移除執行身分服務帳戶。
步驟 2:在 Windows LAN 設定中設定 Proxy 伺服器
使用執行身分服務帳戶登入已安裝或將安裝 Tableau Server 的電腦。
開啟「區域網路 (LAN) 設定」對話方塊。(透過在 Windows 的「開始」功能表中搜尋
Internet Options
可快速到達此對話方塊。在「Internet 屬性」對話方塊中,按一下「連線」索引標籤,然後按一下「LAN 設定」。)在「Proxy 伺服器」下,選取「為 LAN 使用 Proxy 伺服器」,輸入 Proxy 伺服器位址和埠,然後選取「對於本機位址不使用 Proxy 伺服器」。
保持此對話方塊開啟並繼續執行下一步。
步驟 3:新增例外以繞過 Proxy 伺服器
您向此 Proxy 設定中新增例外來保證本機 Tableau Server 叢集(如果目前有該叢集或稍後將有該叢集)內的所有通訊不會路由到 Proxy 伺服器。
在「LAN 設定」對話方塊中,按一下「進階」。(只有在您選取了為 LAN 使用 Proxy 伺服器的選項後,此按鈕才可用。)
在「Proxy 設定」對話方塊的「例外」欄位中輸入以下內容:
localhost
- 同一叢集中其他 Tableau Server 電腦的伺服器主機名稱和 IP 位址。
使用分號分隔各項。
關閉 Proxy 設定對話方塊和「區域網路 (LAN) 設定」對話方塊。
在「Internet 屬性」對話方塊中,按一下「確定」以應用設定。
保持登入到電腦,並繼續執行下一步。
步驟 4:驗證 Proxy 設定是否與 Windows 環境變數衝突
某些組織將正向 Proxy 設定設定為 Windows 作業系統中的環境變數。如果在執行 Tableau Server 的電腦上設定了此類設定,則您必須驗證這些設定與您在此處完成的設定不衝突。
如果 Tableau Server 啟用 ATR 授權,則此驗證很重要。ATR 授權在 Tableau Server 版本 2021.4 及更高版本上預設為啟用。
在執行 Tableau Server 的電腦上,在搜尋方塊中輸入「進階系統設定」,然後按 Enter 開啟「系統屬性」框。
在「進階」索引標籤上,按一下「環境變數」。
捲動瀏覽「系統變數」欄位。
如果指定了
http_proxy
或https_proxy
,請驗證值與您在上一步驟中設定的 Proxy 伺服器位址不衝突。如果現有設定不衝突,則轉到「步驟 5:測試 Proxy 設定」。
若現有設定確實存在衝突,請建立名稱為
no_proxy
的新變數,然後為該值輸入:- 主機名稱、
- IP 位址
例如,
localhost,192.168.0.10
。有關詳情,請參閱 Microsoft MSDN 文章設定環境變數。
按一下「確定」。
步驟 5:驗證 WinHTTP Proxy 設定與 Windows LAN 設定不衝突
若已啟用伺服器 ATR(在 Tableau Server 2021.4 或更高版本中預設啟用),請驗證 WinHTTP Proxy 是否已設定且與 Windows LAN 設定不衝突。
使用執行身分服務帳戶登入已安裝或將安裝 Tableau Server 的電腦。
開啟命令提示字元,並使用以下命令確認目前設定:
netsh winhttp show proxy
使用以下任一方法為 WinHTTP 設定 Proxy:
若從 Windows LAN 設定匯入設定,請使用以下命令:
netsh winhttp import proxy source=ie
使用以下命令單獨設定 WinHTTP Proxy:
netsh winhttp set proxy <proxy server> <proxy bypass list>
有關詳細資訊,請參閱 Microsoft 網站上的使用 netsh 命令手動設定 Proxy 伺服器(連結在新視窗開啟)。
確認 Proxy 設定不與其他 Windows Proxy 設定衝突。
步驟 6:測試 Proxy 設定
若要測試新組態,請在仍然以執行身分服務帳戶在 Tableau Server 電腦上登入的情況下,開啟 Web 瀏覽器並測試以下 Tableau URL:
https://mapsconfig.tableau.com/v1/config.json
(連結在新視窗開啟) 以及 https://api.mapbox.com/
(連結在新視窗開啟) 將提示您下載 json 檔案。
步驟 7:從「本機管理員」群組中移除執行身分服務帳戶
測試 Proxy 設定之後,從「本機管理員」群組中移除執行身分服務帳戶。將執行身分服務帳戶保留在管理員群組中提升執行身分服務帳戶的權限,造成安全風險。
重啟 Tableau Server 以確保實施所有變更。
伺服器當機報告程式
如果您的組織使用 Proxy 伺服器連線到網際網路,您必須設定 Tableau Server 的當機報告程式才能使用 Proxy。即使您已將 Tableau Server 設為使用 Proxy,您還必須單獨設定伺服器當機報告程式。如要設定伺服器當機報告程式的 Proxy,請參閱設定伺服器當機報告程式。
反向 Proxy 及負載平衡器如何與 Tableau Server 搭配工作
反向 Proxy 是及負載平衡器是從外部(網際網路)用戶端接收請求並將請求轉寄到 Tableau Server 的伺服器。這些解決方案讓 Tableau Server 可用於網際網路,而不必向其公開特定 Tableau Server 的單獨 IP 位址。它們也可以作為驗證與傳遞裝置使用,因此不會將資料儲存在公司外部人員可以存取的位置。這一要求對於需要遵循諸如 PCI、HIPAA 或 SOX 之類的各種隱私法規的組織可能很重要。
下圖演示了用戶端向設定為使用反向 Proxy 伺服器和/或負載平衡器(LB)的 Tableau Server 發出請求時的通訊路徑。
外部用戶端發起 Tableau Server 連線。此用戶端使用為反向 Proxy 伺服器/LB 設定的公用 URL,例如
https://tableau.example.com
。(該用戶端不知道它存取的是反向 Proxy /LB。)反向 Proxy 反過來會將該請求對應至 Tableau Server 請求。在有些情境中,可以將反向 Proxy 設定為(使用 SSL/TLS)對用戶端進行驗證,以作為將請求傳遞給 Tableau Server 的前提條件。
Tableau Server 獲取請求並將其回應傳送到反向 Proxy/LB。
反向 Proxy/LB 將內容傳送回該用戶端。就用戶端而言,它剛與 Tableau Server 進行了互動,並且無法得知通訊是透過中間伺服器傳遞。
TLS/SSL
根據閘道情形,您應該考慮將反向 Proxy 與負載平衡伺服器設定為對您網路外部的任何流量使用 TLS/SSL。這有助於保護隱私、內容完整性和驗證。除非您已經採取了其他安全措施來保護您的 Internet 閘道與 Tableau Server 之間的流量,否則,也建議設定閘道 Proxy 與 Tableau Server 之間的 SSL。您可以使用內部憑證或自我簽署憑證來對 Tableau 伺服器和其他內部電腦之間的流量進行加密。
行動裝置存取
Tableau Server 會向 Tableau Mobile 會話的所有 HTTP 回應中新增 X 標頭。預設情況下,大多數 Proxy 解決方案將保留 X 標頭。如果您的閘道解決方案未保留 X 標頭,則需要設定您的 Proxy 伺服器與負載平衡器,以便為行動用戶端工作階段的所有 HTTP 回應保留以下標頭:X-Tableau: Tableau Server
。
如果已在閘道設定了驗證,則 Proxy 伺服器/LB 必須使用 HTTP 302 回應來回應 Tableau Mobile HTTP 請求。302 必須重新導向到身分識別提供者登入頁面。要查看一個描述 302 驗證序列的圖表,請參閱 Tableau 社群中的 Tableau Mobile 驗證序列(連結在新視窗開啟)。
反向 Proxy、負載平衡器與使用者驗證
Tableau Server 會始終驗證使用者的身分。這意味著,即使您在組織閘道處對輸入連線進行驗證,Tableau Server 仍將驗證使用者的身分。
但並非所有用戶端都支援使用閘道解決方案的使用者驗證:
對於支援的 Web 瀏覽器,您可以使用 SAML、OpenID Connect、Kerberos、受信任票證或透過反向 Proxy /LB 手動驗證。
Tableau Mobile 支援 SAML 或使用反向 Proxy/LB 手動驗證。Tableau Mobile 的 iOS 版本同時支援使用反向 Proxy/LB 的 Kerberos。上述相同建議適用。
Tableau Prep 不支援使用反向 Proxy 或負載平衡器進行驗證。對於遠端存取,請使用 VPN 解決方案或設定您的閘道服務,將來自 Tableau Prep 的流量直接路由至 Tableau Server 進行驗證。
Tableau Desktop 支援使用反向 Proxy 進行驗證,前提是在將流量路由到 Tableau Server 進行最終驗證之前驗證模組對反向 Proxy 執行預驗證。有關詳細資訊,請參閱 Tableau Server 企業部署指南的第 5 部分 - 設定 Web 層(連結在新視窗開啟)和設定 Independent Gateway 的驗證模組。
如果您的組織使用 Active Directory 進行驗證:
- 不支援將啟用自動登入 (SSPI) 的 Active Directory 與反向 Proxy 一起使用。
- 在將 Tableau Server 設定為使用 Kerberos 之前,必須針對反向 Proxy 配置 Tableau Server。有關詳情,請參閱設定 Kerberos。
將 Tableau Server 設定為使用反向 Proxy 伺服器和/或負載平衡器
在設定 Tableau Server 之前,您需要收集有關 Proxy 伺服器設定的以下資訊。若要設定 Tableau Server,請使用 tsm configuration set
命令。您需要收集的資訊與執行 tsm
時所需的選項對應。
大多數以下 tsm 選項也用於設定在負載平衡器後面執行的 Tableau Server 部署。有關詳情,請參閱新增負載平衡器。
項 | 說明 | 對應的 tsm configuration set 選項 |
---|---|---|
IP 位址 或 CNAME | 對於此選項,您可以輸入 IP 位址或 CNAME。 Proxy 與負載平衡器伺服器的一個或多個公用 IP 位址。IP 位址必須採用 IPv4 格式(舉例來說 如果無法提供靜態 IP 位址,或者如果您正在使用雲端 Proxy 或外部負載平衡器,則您可以指定用戶端連線到 Tableau Server 時將使用的 CNAME(正式名稱)DNS 值。必須在反向 Proxy 解決方案中設定此 CNAME 值以與 Tableau Server 通訊。 | gateway.trusted |
FQDN | 人員存取 Tableau Server 所使用的完全限定的功能變數名稱,如 tableau.example.com 。Tableau Server 不支援此選項的上下文切換。例如,不支援下列 URL:example.com/tableau 。 | gateway.public.host |
非 FQDN | 用於 Proxy 或 LB 伺服器的任意子網域名稱。在 tableau.example.com 這個範例中,子功能變數名稱為 tableau 。 | gateway.trusted_hosts |
別名 | Proxy 或 LB 伺服器的任意公用備用名稱。大多數情況下,會使用 CNAME 值指定別名。舉例來說, Proxy 伺服器 bigbox.example.com 以及 CNAME 條目 ftp.example.com 和 www.example.com 。 | gateway.trusted_hosts |
埠 | 從用戶端到反向 Proxy 伺服器的流量的埠號。 |
|
如果使用 Tableau Server 的分散式安裝,則在叢集中的初始節點上執行以下 tsm
命令。
輸入以下命令以設定用戶端將透過 Proxy 和/或 LB伺服器存取 Tableau Server 時將使用的 FQDN,其中
name
是 FQDN:tsm configuration set -k gateway.public.host -v "name"
舉例來說,如果透過在瀏覽器中輸入
https://tableau.example.com
來存取 Tableau Server,請輸入此命令:tsm configuration set -k gateway.public.host -v "tableau.example.com"
輸入以下命令以設定 Proxy 和/或 LB 伺服器的位址或 CNAME,其中
server_address
為 IPv4 位址或 CNAME 值:tsm configuration set -k gateway.trusted -v "server_ip_address"
如果您的組織使用多個 Proxy 伺服器和/或 LB 伺服器,請輸入多個 IPv4 位址,並用逗號分隔。不支援 IP 範圍。為了改善 Tableau Server 的啟動和初始化,請最大程度地減少
gateway.trusted
的條目數。輸入以下命令以為 Proxy/LB 伺服器指定備用名稱,比如它們的完整網域名稱、任何非完整網域名稱和任何別名。如果有多個名稱,請用逗號將名稱隔開。
tsm configuration set -k gateway.trusted_hosts -v "name1, name2, name3"
例如:
tsm configuration set -k gateway.trusted_hosts -v "proxy1.example.com, proxy1, ftp.example.com, www.example.com"
如果 Proxy 伺服器使用 SSL 與 Internet 通訊,請執行以下命令,告知 Tableau 反向 Proxy 伺服器正在使用埠 443,而不是埠 80:
tsm configuration set -k gateway.public.port -v 443
附註:如果 Proxy 伺服器使用 SSL 與 Tableau Server 進行通訊,則必須在 Tableau Server 上設定和啟用 SSL。
輸入以下命令以提交設定變更:
tsm pending-changes apply
如果擱置組態需要重新啟動伺服器,
pending-changes apply
命令將顯示提示,讓您知道即將重新啟動。即使伺服器已停止,也會顯示提示,但在這種情況下不會重新啟動。您可以使用--ignore-prompt
選項隱藏提示,但這樣做不會改變重新啟動行為。如果變更不需要重新啟動,則不會出現提示即可套用變更。有關詳情,請參閱 tsm pending-changes apply。
將反向 Proxy 或負載平衡伺服器設定與 Tableau Server 搭配使用
用戶端透過反向 Proxy 或負載平衡器存取 Tableau Server 時,必須要保留(或新增)特定訊息標頭。具體而言,必須在 gateway.trusted
和 gateway.trusted_hosts
設定中包含訊息鏈中的所有伺服器。
下圖顯示了一個單跳訊息鏈的範例標頭,在該訊息鏈中,Proxy 伺服器直接與 Tableau Server 通訊:
下圖顯示了一個多跳訊息鏈的範例標頭,在該訊息鏈中,訊息在連線到 Tableau Server 之前將穿過兩個 Proxy 伺服器:
下表介紹了這些標頭,以及這些標頭如何與 Tableau Server 上的設定設定相關:
標題 | 說明 | 相關的 Tableau Server 設定 |
REMOTE_ADDR 和 X-FORWARDED-FOR (XFF ) | Tableau Server 需要這些標頭來確定請求來源的 IP 位址。X-FORWARDED-FOR 標頭必須按連線進行的順序將 IP 位址鏈提供給 Tableau Server。 | 您在 gateway.trusted 中設定的 IP 地址必須與 REMOTE_ADDR 中呈現的 IP 地址相符。如果在 gateway.trusted 中傳送了多個位址,則其中一個位址必須與 REMOTE_ADDR 中呈現的 IP 地址相符。 |
HOST 和 X-FORWARDED HOST (XFH ) | 這些標頭用於在 Tableau Server 回復用戶端時產生指向 Tableau Server 的絕對連結。X-FORWARDED-HOST 標頭必須按連線進行的順序將主機名稱提供給 Tableau Server。 | X-FORWARDED-HOST 標頭中呈現的主機名稱必須包括在 gateway.trusted_hosts 中指定的主機名稱中。 |
X-FORWARDED-PROTO (XFP ) | 如果為從用戶端到 Proxy 的流量啟用了 SSL,但沒有為從 Proxy 到 Tableau Server 的流量啟用,則必須提供標題。 對於未沿著訊息路由的每個躍點來維護 HTTP 或 HTTPS 的情況, | 必須在相應的參數中指定反向 Proxy 上的埠設定(來自用戶端的輸入連線以及到 Tableau Server 的輸出連線): 如果 Proxy 伺服器使用 SSL 與 Tableau Server 進行通訊,則必須在 Tableau Server 上設定和啟用 SSL。 |
驗證反向 Proxy 與負載平衡器設定
要驗證閘道至 Tableau Server 設定,請使用 Tableau Server Web 製作或 Tableau Desktop 發佈工作簿與資料來源。如果使用 Web 瀏覽器透過 Internet 連線到 Tableau Server,請驗證您是否在使用推薦的瀏覽器(連結在新視窗開啟)。發佈和查看使用現有資料來源的工作簿以及已發佈的資料來源。使用下面的連結來熟悉以最終使用者身分連線 Tableau Server 的操作。
工作 | 文件 |
---|---|
Web 製作概觀。 | 在 Web 上使用 Tableau(連結在新視窗開啟) |
從 Tableau Desktop 或 Web 瀏覽器登入到 Tableau Server。 | 登入 Tableau Server 或 Tableau Online(連結在新視窗開啟) |
將工作簿發佈到 Tableau Server。 | 發佈工作簿(連結在新視窗開啟) |
發佈資料來源。 | 發佈資料來源(連結在新視窗開啟) |
從 Tableau Server 中開啟工作簿。 | 從伺服器開啟工作簿(連結在新視窗開啟) |
登出 Server(使用 Desktop)。 | 登入 Tableau Server 或 Tableau Online(連結在新視窗開啟) |
透過 Web 瀏覽器下載工作簿。 | 下載工作簿(連結在新視窗開啟) |
檢查以確保 tabcmd(從非伺服器用戶端中)正常工作。 | tabcmd |