知識庫

執行 TSM 命令時發生錯誤「Could not connect to TSM Controller at 'https://servername:8850'」


發佈時間 : 28 Nov 2018
上次修改日期 : 29 Feb 2024

問題

執行任何 TSM 命令時,發生以下錯誤: 

Could not connect to TSM Controller at 'https://servername:8850'(無法在 'https://servername:8850' 連線至 TSM 控制器)

可以執行一些基本的驗證步驟,藉此確認這是由於該 TSM 憑證到期所致,而不是其他可能原因:

步驟 1:
驗證 Tableau Server 入口網站正常運作,但無法透過執行以下命令存取 TSM WebUI(Linux 範例):
# sudo su -l tableau
# systemctl status tabadmincontroller_0 
這些命令將顯示該服務處於作用中狀態,而且正在執行,但您仍無法連線至 TSM。

步驟 2:

Telnet 至連接埠 8850 以驗證它是否正常運作:
# telnet localhost 8850
Trying ::1...
Connected to localhost.
Escape character is '^]'.

如果憑證無效,您將會在 ~/.tableau/tsm/tsm.log 中看見此錯誤訊息:
 
2019-03-15 15:09:57 main : ERROR com.tableausoftware.tabadmin.ServerApi - Exception sending request
org.springframework.web.client.ResourceAccessException: I/O error on POST request for "https://localhost.localdomain:8850/api/0.5/login":
sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException:
validity check failed; nested exception is javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException:
PKIX path validation failed: java.security.cert.CertPathValidatorException: validity check failed
TSM 記錄會顯示 'timestamp check failed'(時間戳記檢查失敗)做為上述錯誤訊息的後綴,而不是 'validity check failed'(驗證檢查失敗)。
       

環境

  • Tableau Server 

解決方法

TSM 使用在安裝時產生的自我簽署 SSL 憑證。  在早期版本中,需要重新安裝完整的 Tableau Server 才能重新產生新的 SSL 憑證。  在目前版本中,可以重新安裝 tabadmincontroller 以產生新憑證。 

目前版本已將旗標 --trust-admin-controller-cert 新增至 tsm 和 upgrade-tsm 指令碼。  若要執行此解決方案,您必須安裝相同的版本系列。  例如,如果使用 Tableau Server 2021.4.1,您必須安裝 Tableau Server 2021.4.1+。

選項 1
當無法從命令列存取 TSM 並嘗試從舊版本升級到具有新旗標的目前版本時,請執行以下操作。

以下列指令碼存取包含 --trust-admin-controller-cert 旗標的版本 TSM: 

/opt/tableau/tableau_server/packages/bin.<version_code>/tsm stop
--trust-admin-controller-cert

其中 <版本代碼> 是新安裝的 Tableau Server 組建版本號碼,您可以在該 Tableau Server 版本的版本頁面中找到該號碼。

例如,請嘗試  tsm data-access repository-access enable --repository-username readonly --repository-password <PASSWORD> --trust-admin-controller-cert
(注意:對於來自遠端電腦的 TSM CLI 連線,在您首次連線到執行 TSM 管理控制器的 Tableau Server 時,系統會提示您信任 Tableau 安裝 CA 憑證。您可以選擇信任 CA 憑證,在這種情況下,您將不會在該電腦上再次收到提示,直到憑證過期(預設為 3 年)。或者,您可以透過使用 --trust-admin-controller-cert 旗標執行 TSM 命令來連接一次性信任。)

選項 2
在目前支援的版本中,可以重新安裝 tabadmincontroller 以產生新憑證,步驟如下:

  1. 以管理員身份打開命令提示字元(右鍵按一下指令提示字元,然後選取「以管理員身份執行」)
  2. 執行「tsm stop --trust-admin-controller-cert」從命令提示字元停止 Tableau Server。
  3. 巡覽到 C:\ProgramData\Tableau\Tableau Server\data\tabsvc\services\tabadmincontroller_<version>。(注意:這是預設路徑,如果安裝在非預設路徑中,您的路徑可能會有所不同)。
  4. 執行「uninstall.cmd」。(結束代碼 0 表示成功)
  5. 執行「Install.cmd」。 (結束代碼 0 表示成功)
  6. 重新啟動 Tableau 電腦。
  7. 使用 TSM Web UI 或使用 TSM Start 來啟動 Tableau Server。
選項 3
按照 Tableau Online 說明中針對正在使用的相應作業系統的指示升級 Tableau Server,並在執行 upgrade-tsm 指令碼時,使用 --trust-admin-controller-cert 旗標。

 

 

原因

更早版本的 Tableau Server 使用一年後到期的 TSM 控制器憑證。  目前,憑證的有效期限最長為三年,且升級時會安裝新憑證。

其他資訊

若要驗證 TSM Controller SSL 憑證的到期日期,請在執行 Tableau Server 之電腦上的終端機中輸入以下命令(Linux 說明):

 #openssl s_client -connect servername:8850
 # echo | openssl s_client -connect servername:8850  2>/dev/null | openssl x509 -noout -dates



 
這篇文章是否解決了問題?