針對 Tableau Server 設定 Proxy

在大多數企業中,Tableau Server 需要與 Internet 通訊。Tableau Server 旨在受保護的內部網路內部執行。不要直接在 Internet 或 DMZ 中設定 Tableau Server。相反,您的網路和 Internet 之間的通訊應使用 Proxy 伺服器傳遞。正向 Proxy 伺服器將流量從網路內部傳遞到 Internet 上的目標。反向 Proxy 伺服器將流量從 Internet 傳遞到網路內部的目標。

誰應閱讀本文?

本文面向擁有常規網路和閘道 Proxy 解決方案經驗的 IT 專業人員。本文描述 Tableau 為何以及在何時需要 Internet 存取權限,並描述如何設定網路和 Tableau 以使用正向和反向 Proxy 伺服器來存取 Internet 以及透過 Internet 進行存取。有許多協力廠商 Proxy 解決方案,因此本文的某些內容一定是通用的。

在設定 Proxy 伺服器之前,請參閱與 Internet 通訊

設定正向 Proxy 伺服器

若要實現從 Tableau Server 到 Internet 的通訊,請將 Tableau Server 部署在正向 Proxy 伺服器後面。當 Tableau Server 需要存取 Internet 時,它不會將請求直接傳送到 Internet,而是會將請求傳送到正向 Proxy ,後者將會轉寄請求。正向 Proxy 可以幫助管理員針對負載平衡、阻止存取網站等工作管理外流到 Internet 的流量。

如果使用正向 Proxy ,您必須將網路內部執行 Tableau Server 的電腦設定為將流量傳送到正向 Proxy。Tableau Server 不支援直通或手動 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 伺服器

  1. 使用執行身分服務帳戶登入已安裝或將安裝 Tableau Server 的電腦。

  2. 開啟「區域網路 (LAN) 設定」對話方塊。(透過在 Windows 的「開始」功能表中搜尋 Internet Options 可快速到達此對話方塊。在「Internet 屬性」對話方塊中,按一下「連線」索引標籤,然後按一下「LAN 設定」。)

  3. 「Proxy 伺服器」下,選取「為 LAN 使用 Proxy 伺服器」,輸入 Proxy 伺服器位址和埠,然後選取「對於本機位址不使用 Proxy 伺服器」

保持此對話方塊開啟並繼續執行下一步。

步驟 3:新增例外以繞過 Proxy 伺服器

您向此 Proxy 設定中新增例外來保證本機 Tableau Server 叢集(如果目前有該叢集或稍後將有該叢集)內的所有通訊不會路由到 Proxy 伺服器。

  1. 在「LAN 設定」對話方塊中,按一下「進階」。(只有在您選取了為 LAN 使用 Proxy 伺服器的選項後,此按鈕才可用。)

  2. 「Proxy 設定」對話方塊的「例外」欄位中輸入 localhost。此外,輸入相同叢集中其他 Tableau Server 電腦的伺服器名稱和 IP 地址。使用分號分隔各項。

  3. 關閉 Proxy 設定對話方塊和「區域網路 (LAN) 設定」對話方塊。

  4. 「Internet 屬性」對話方塊中,按一下「確定」以應用設定。

保持登入到電腦,並繼續執行下一步。

步驟 4:驗證是否未將 Proxy 設定設定為環境變數

某些組織將正向 Proxy 設定設定為 Windows 作業系統中的環境變數。如果在執行 Tableau Server 的電腦上設定了此類設定,則您必須驗證這些設定與您在此處完成的設定不衝突。

  1. 在執行 Tableau Server 的電腦上,在搜尋方塊中輸入「進階系統設定」,然後按 Enter 開啟「系統屬性」框。

  2. 在「系統屬性」中,按一下「環境變數」。

  3. 捲動瀏覽「系統變數」欄位。

    如果指定了 http_proxyhttps_proxy,請驗證值與您在上一步驟中設定的 Proxy 伺服器位址不衝突。

    • 如果現有設定不衝突,則轉到「步驟 5:測試 Proxy 設定」。

    • 如果現有設定衝突,則建立一個名為 no_proxy 的新變數,並為值輸入 Tableau Server 的主機名稱、IP 位址和埠。例如,localhost,192.168.0.10:80。有關詳情,請參閱 Microsoft MSDN 文章設定環境變數

  4. 按一下「確定」

步驟 5:測試 Proxy 設定

若要測試新組態,請在仍然以執行身分服務帳戶在 Tableau Server 電腦上登入的情況下,開啟 Web 瀏覽器並測試以下 Tableau URL:

https://mapsconfig.tableau.com/v1/config.json(Link opens in a new window)https://api.mapbox.com/(Link opens in a new window) 將提示您下載 json 檔案。

步驟 6:從「本機管理員」群組中移除執行身分服務帳戶

測試 Proxy 設定之後,從「本機管理員」群組中移除執行身分服務帳戶。將執行身分服務帳戶保留在管理員群組中提升執行身分服務帳戶的權限,造成安全風險。

重啟 Tableau Server 以確保實施所有變更。

伺服器當機報告程式

如果您的組織使用 Proxy 伺服器連線到網際網路,您必須設定 Tableau Server 的當機報告程式才能使用 Proxy。即使您已將 Tableau Server 設為使用 Proxy,您還必須單獨設定伺服器當機報告程式。如要設定伺服器當機報告程式的 Proxy,請參閱設定伺服器當機報告程式

反向 Proxy 如何與 Tableau Server 搭配工作

反向 Proxy 是指從外部 (Internet) 用戶端接收請求並將請求轉寄到 Tableau Server 的伺服器。為什麼要使用反向 Proxy ?答案基本上是安全性。透過反向 Proxy ,將可透過 Internet 存取 Tableau Server,而不必向 Internet 暴露該特定 Tableau Server 的單獨 IP 位址。反向 Proxy 還充當驗證和直通裝置,因此在公司外部人員可以存取的位置不會存放資料。這一要求對於需要遵循諸如 PCI、HIPAA 或 SOX 之類的各種隱私法規的組織可能很重要。

下圖說明當用戶端向設定為使用反向 Proxy 伺服器的 Tableau Server 發出請求時的通訊路徑。

  1. 外部用戶端發起 Tableau Server 連線。此用戶端使用為反向 Proxy 伺服器設定的公用 URL,例如 https://tableau.example.com。(用戶端不知道它在存取反向 Proxy 。)

  2. 反向 Proxy 反過來會將該請求對應至 Tableau Server 請求。可以將反向 Proxy 設定為(使用 SSL/TLS)對用戶端進行驗證,以作為將請求傳遞給 Tableau Server 的前提條件。

  3. Tableau Server 獲取請求並將其回應傳送到反向 Proxy。

  4. 反向 Proxy 將內容傳送給用戶端。就用戶端而言,它剛與 Tableau Server 進行了交互,並且無法得知反向 Proxy 已傳遞了通訊。

Proxy 伺服器和 SSL

為了獲得更好的安全性,您應該將反向 Proxy 伺服器設定為對網路外部的任何流量使用 SSL。這有助於保護隱私、內容完整性和驗證。除非您已經採取了其他安全措施來保護您的 Internet 閘道與 Tableau Server 之間的流量,否則,也建議設定閘道 Proxy 與 Tableau Server 之間的 SSL。您可以使用內部憑證或自我簽署憑證來對 Tableau 伺服器和其他內部電腦之間的流量進行加密。

行動裝置存取

Tableau Server 會向 Tableau Mobile 會話的所有 HTTP 回應中新增 X 標頭。預設情況下,大多數 Proxy 解決方案將保留 X 標頭。如果您的 Proxy 解決方案未保留 X 標頭,則您需要設定 Proxy 伺服器以便為行動用戶端會話的所有 HTTP 回應保留以下標頭:X-Tableau: Tableau Server.

如果在 Proxy 伺服器閘道處設定了驗證,則 Proxy 伺服器必須使用 HTTP 302 回應來回應 Tableau Mobile HTTP 請求。302 必須重新導向到身分識別提供者登入頁面。要查看一個描述 302 驗證序列的圖表,請參閱 Tableau 社群中的 Tableau Mobile 驗證序列(Link opens in a new window)

反向 Proxy 和使用者驗證

Tableau Server 會始終驗證使用者的身分。這意味著,即使您在組織閘道處對輸入連線進行驗證,Tableau Server 仍將驗證使用者的身分。

但並非所有用戶端都將使用反向 Proxy 支援使用者驗證:

  • 對於支援的 Web 瀏覽器,您可以使用 SAML、OpenID Connect、Kerberos、Trusted Ticket 或透過反向 Proxy 手動驗證。但我們推薦採用不會在閘道處提示使用者請求進行驗證的透明方案。這種推薦方案不會停用在閘道 Proxy 處為用戶端/伺服器系統層級驗證使用 SSL,事實上,我們強烈建議使用 SSL 系統層級驗證。

  • Tableau Mobile 支援 SAML 或藉由反向 Proxy 手動驗證。iOS 版 Tableau Mobile 另外藉由反向 Proxy 支援 Kerberos。上述相同建議適用。

  • Tableau Desktop 不支援藉由反向 Proxy 進行驗證。若要藉由 Tableau Desktop 支援遠端存取,請使用 VPN 解決方案或設定反向 Proxy,將流量從 Tableau Desktop 直接路由至 Tableau Server 進行驗證。

如果您的組織使用 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 格式(舉例來說 203.0.113.0),並且必須是靜態 IP。

如果無法提供靜態 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 伺服器的任何子功能變數名稱。在 tableau.example.com 這個範例中,子功能變數名稱為 tableau gateway.trusted_hosts
別名 Proxy 伺服器的任何公用備用名稱。大多數情況下,會使用 CNAME 值指定別名。舉例來說, Proxy 伺服器 bigbox.example.com 以及 CNAME 條目 ftp.example.comwww.example.com gateway.trusted_hosts
從用戶端到反向 Proxy 伺服器的流量的埠號。

gateway.public.port

如果使用 Tableau Server 的分散式安裝,則在叢集中的初始節點上執行以下 tsm 命令。

  1. 輸入以下命令以設定用戶端透過 Proxy 伺服器存取 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"

  2. 輸入以下命令以設定 Proxy 伺服器的位元址或 CNAME,其中 server_address 為 IPv4 位址或 CNAME 值:

    tsm configuration set -k gateway.trusted -v "server_ip_address"

    如果組織使用多個 Proxy 伺服器,請輸入多個 IPv4 位址,用逗號分隔這些位址。不支援 IP 範圍。為了改善 Tableau Server 的啟動和初始化,請最大程度地減少 gateway.trusted 的條目數。

  3. 輸入以下命令以為 Proxy 伺服器指定備用名稱,舉例來說它的完全限定功能變數名稱、任何非完全限定功能變數名稱和任何別名。如果有多個名稱,請用逗號將名稱隔開。

    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"

  4. 如果 Proxy 伺服器使用 SSL 與 Internet 通訊,請執行以下命令,告知 Tableau 反向 Proxy 伺服器正在使用埠 443,而不是埠 80:

    tsm configuration set -k gateway.public.port -v 443

    附註:如果 Proxy 伺服器使用 SSL 與 Tableau Server 進行通訊,則必須在 Tableau Server 上設定和啟用 SSL。

  5. 輸入以下命令以提交設定變更:

    tsm pending-changes apply

    如果擱置組態需要重新啟動伺服器,pending-changes apply 命令將顯示提示,讓您知道即將重新啟動。即使伺服器已停止,也會顯示提示,但在這種情況下不會重新啟動。您可以使用 --ignore-prompt 選項隱藏提示,但這樣做不會改變重新啟動行為。如果變更不需要重新啟動,則不會出現提示即可套用變更。有關詳情,請參閱tsm pending-changes apply

將反向 Proxy 伺服器設定為使用 Tableau Server

當用戶端透過反向 Proxy 存取 Tableau Server 時,必須要保留(或新增)特定訊息標頭。具體而言,必須在 gateway.trustedgateway.trusted_hosts 設定中表示訊息鏈中的所有 Proxy 伺服器。

下圖顯示了一個單跳訊息鏈的範例標頭,在該訊息鏈中,Proxy 伺服器直接與 Tableau Server 通訊:

下圖顯示了一個多跳訊息鏈的範例標頭,在該訊息鏈中,訊息在連線到 Tableau Server 之前將穿過兩個 Proxy 伺服器:

下表介紹了這些標頭,以及這些標頭如何與 Tableau Server 上的設定設定相關:

標題 說明 相關的 Tableau Server 設定
REMOTE_ADDRX-FORWARDED-FOR (XFF) Tableau Server 需要這些標頭來確定請求來源的 IP 位址。X-FORWARDED-FOR 標頭必須按連線進行的順序將 IP 位址鏈提供給 Tableau Server。 您在 gateway.trusted 中設定的 IP 地址必須與 REMOTE_ADDR 中呈現的 IP 地址相符。如果在 gateway.trusted 中傳送了多個位址,則其中一個位址必須與 REMOTE_ADDR 中呈現的 IP 地址相符。
HOSTX-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 的情況, X-FORWARDED-PROTO 標頭很重要。舉例來說,如果反向 Proxy 需要使用 SSL 來處理外部請求,但是未將反向 Proxy 與 Tableau Server 之間的通訊設定為使用 SSL,則需要提供 X-FORWARDED-PROTO 標頭。有些 Proxy 解決方案會自動新增 X-FORWARDED-PROTO 標頭,而有些則不會。最後,根據您的 Proxy 解決方案,您可能必須設定埠轉寄以將請求從埠 443 轉到埠 80。

相關知識庫文章:在升級之後,SAML 發生「無法登入」和「使用者名稱或密碼無效」的錯誤(Link opens in a new window)

必須在相應的參數中指定反向 Proxy 上的埠設定(來自用戶端的輸入連線以及到 Tableau Server 的輸出連線):gateway.public.port,這是用於連線到 Proxy 的埠用戶端。

如果 Proxy 伺服器使用 SSL 與 Tableau Server 進行通訊,則必須在 Tableau Server 上設定和啟用 SSL。

驗證反向 Proxy 設定

若要驗證反向 Proxy 設定,請使用 Tableau Server Web 製作或 Tableau Desktop 發佈工作簿和資料來源。如果使用 Web 瀏覽器透過 Internet 連線到 Tableau Server,請驗證您是否在使用推薦的瀏覽器(Link opens in a new window)。發佈和查看使用現有資料來源的工作簿以及已發佈的資料來源。使用下面的連結來熟悉以最終使用者身分連線 Tableau Server 的操作。

工作 文件
Web 製作概觀。 在 Web 上使用 Tableau(Link opens in a new window)
從 Tableau Desktop 或 Web 瀏覽器登入到 Tableau Server。 登入 Tableau Server 或 Tableau Online(Link opens in a new window)
將工作簿發佈到 Tableau Server。 發佈工作簿(Link opens in a new window)
發佈資料來源。 發佈資料來源(Link opens in a new window)
從 Tableau Server 中開啟工作簿。 從伺服器開啟工作簿(Link opens in a new window)
登出 Server(使用 Desktop)。 登入 Tableau Server 或 Tableau Online(Link opens in a new window)
透過 Web 瀏覽器下載工作簿。 下載工作簿(Link opens in a new window)
檢查以確保 tabcmd(從非伺服器用戶端中)正常工作。 tabcmd

相關主題

使用 Microsoft Azure AD 應用程式 Proxy 對遠端 Tableau 用戶端進行驗證

Tableau 和 Microsoft 進行了合作,確保您可以使用 Azure AD 應用程式 Proxy 提供對 Web 瀏覽器和 Tableau Mobile 應用程式的遠端存取。

Tableau Desktop 不會辨識反向 Proxy 驗證要求,並且不支援此方案。

以下 Microsoft 網站連結提供了介紹如何啟用此方案的文件:

  1. 開始使用應用程式 Proxy (Link opens in a new window)

  2. 安裝並註冊連接器(Link opens in a new window)

  3. 啟用您的使用者:Azure Active Directory 應用程式 Proxy 和 Tableau(Link opens in a new window)

使用 Kerberos 驗證設定 Azure AD 應用程式 Proxy 時,請務必在設定 Kerberos 之前設定 Proxy 。

感謝您的回饋! 提交意見回饋時發生錯誤。重試或傳送訊息給我們