知识库

运行 TSM 命令时出现“无法连接到‘https://servername:8850’中的 TSM 控制器”错误


发布时间: 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...
已连接到本地主机。
转义字符是“^]”。

如果证书无效,您将在 ~/.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 来生成新证书。 

当前版本向 tsm 和 upgrade-tsm 脚本中添加了标志 --trust-admin-controller-cert。  要执行此解决方案,您需要安装相同的版本系列。  例如,如果使用 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 服务器。
  3. Navigate to 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 控制器 SSL 证书的到期日期,请在运行 Tableau Server 的计算机上的终端中输入以下命令(Linux 指令):

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



 
此文章是否已解决问题?