KNOWLEDGE BASE

Errore "Could not connect to TSM Controller at 'https://servername:8850'" durante l'esecuzione dei comandi


Pubblicato: 28 Nov 2018
Data dell'ultima modifica: 29 Feb 2024

Problema

Durante l'esecuzione di qualsiasi comando TSM, si verifica il seguente errore: 

Could not connect to TSM Controller at 'https://servername:8850' (Impossibile connettersi al controller TSM su 'https://servername:8850')

È possibile eseguire alcuni passaggi di verifica di base per controllare che il problema sia dovuto alla scadenza del certificato TSM e non ad altre possibili cause:

Fase 1:
Verifica che il portale Tableau Server sia in esecuzione correttamente, ma che l'interfaccia utente Web di TSM non sia accessibile eseguendo questi comandi (esempio con Linux):
# sudo su -l tableau
# systemctl status tabadmincontroller_0 
Questi comandi indicheranno che il servizio è attivo e in esecuzione, ma è comunque impossibile connettersi a TSM.

Fase 2:

Utilizza telnet per la porta 8850 per verificare che funzioni:
# telnet localhost 8850
Trying ::1...
Connected to localhost.
Escape character is '^]'.

Se il certificato non è valido, vedrai questo messaggio di errore in  ~/.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 (2019-03-15 15:09:57 main : ERRORE com.tableausoftware.tabadmin.ServerApi – Eccezione durante l'invio della richiesta
org.springframework.web.client.ResourceAccessException: Errore di I/O sulla richiesta POST per "https://localhost.localdomain:8850/api/0.5/login":
sun.security.validator.ValidatorException: convalida del percorso PKIX non riuscita: java.security.cert.CertPathValidatorException:
verifica della validità non riuscita; l'eccezione nidificata è javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException:
convalida del percorso PKIX non riuscita: java.security.cert.CertPathValidatorException: verifica della validità non riuscita)
Nel log di TSM potrebbe essere indicato "controllo del timestamp non riuscito" come suffisso del messaggio di errore precedente anziché "controllo della validità non riuscito".
       

Ambiente

  • Tableau Server 

Soluzione

TSM utilizza un certificato SSL autofirmato che viene generato al momento dell'installazione.  Nelle versioni precedenti, era necessaria una reinstallazione completa di Tableau Server per rigenerare un nuovo certificato SSL.  Nelle versioni correnti, è possibile eseguire una reinstallazione di tabadmincontroller per generare un nuovo certificato. 

Nelle release correnti è stato aggiunto un flag, --trust-admin-controller-cert, a tsm e allo script upgrade-tsm.  Per eseguire questa risoluzione, è necessario installare la stessa famiglia di versioni.  Ad esempio, se utilizzi Tableau Server 2021.4.1 dovrai installare Tableau Server 2021.4.1+.

Opzione 1
Esegui la procedura qui sotto quando non è possibile accedere a TSM dalla riga dei comandi e tenti di aggiornare da una versione meno recente alla versione corrente che presenta il nuovo flag.

Accedi a TSM in tale versione con il flag --trust-admin-controller-cert come segue: 

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

dove <version code> è il numero della nuova versione build di Tableau Server installata che puoi trovare nella pagina delle release per tale versione di Tableau Server.

Ad esempio, prova tsm data-access repository-access enable --repository-username readonly --repository-password <PASSWORD> --trust-admin-controller-cert
Nota: per le connessioni CLI di TSM dai computer remoti, ti verrà chiesto di considerare attendibile il certificato CA dell'installazione di Tableau la prima volta che ti connetti a Tableau Server su cui è in esecuzione il Controller di amministrazione TSM. Puoi scegliere di considerare attendibile il certificato CA, nel qual caso non riceverai più il prompt su quel computer fino alla scadenza del certificato (la durata predefinita è di 3 anni). In alternativa, puoi connetterti con un trust valido una sola volta eseguendo il comando TSM con il flag --trust-admin-controller-cert.

Opzione 2
È possibile eseguire una reinstallazione di tabadmincontroller nelle versioni correnti supportate per generare un nuovo certificato seguendo questa procedura:

  1. Apri un prompt dei comandi come amministratore (fai clic con il tasto destro sul prompt dei comandi e seleziona "Esegui come amministratore"). 
  2. Interrompi Tableau Server dal prompt dei comandi eseguendo "tsm stop --trust-admin-controller-cert".
  3. Passa a C:\ProgramData\Tableau\Tableau Server\data\tabsvc\services\tabadmincontroller_<version>. NOTA: questo è il percorso predefinito, il tuo percorso potrebbe essere diverso se hai effettuato l'installazione in un percorso diverso da quello predefinito.
  4. Esegui "uninstall.cmd". Il codice di uscita 0 significa che il comando è riuscito.
  5. Esegui "Install.cmd". Il codice di uscita 0 significa che il comando è riuscito.
  6. Riavvia il computer Tableau.
  7. Avvia Tableau Server dall'interfaccia utente Web di TSM o utilizzando TSM Start.
Opzione 3
Esegui l'aggiornamento di Tableau Server seguendo le istruzioni nella Guida di Tableau Online specifica del sistema operativo in uso e quando esegui lo script upgrade-tsm, utilizza il flag --trust-admin-controller-cert.

 

 

Causa

Le versioni precedenti di Tableau Server utilizzavano un certificato del controller TSM che scadeva dopo un anno.  Attualmente, il certificato dura fino a tre anni e un nuovo certificato viene installato in occasione degli aggiornamenti.

Ulteriori informazioni

Per verificare la data di scadenza del certificato SSL del controller TSM, immetti i seguenti comandi nel terminale sul computer in cui è in esecuzione Tableau Server (istruzioni Linux):

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



 
Con questo articolo hai risolto il problema?