BASE DE CONNAISSANCES

Erreur « Could not connect to TSM Controller at ’https://servername:8850 » lors de l’exécution de commandes TSM


Date de publication : 28 Nov 2018
Date de dernière modification : 29 Feb 2024

Problème

Lors de l’exécution d’une commande TSM, l’erreur suivante se produit : 

Could not connect to TSM Controller at 'https://servername:8850' (Impossible de se connecter au contrôleur TSM à l'adresse 'https://servername:8850')

Vous pouvez procéder à quelques étapes de vérification de base pour confirmer que le problème est dû à l'expiration de ce certificat TSM, et non à d'autres causes :

Étape 1 :
Vérifiez que le portail Tableau Server fonctionne correctement, mais que l’interface utilisateur Web TSM n’est pas accessible en exécutant les commandes suivantes (exemple Linux) :
# sudo su -l tableau
# systemctl status tabadmincontroller_0 
Ces commandes montreront que le service est actif et en cours d’exécution, mais vous ne pouvez toujours pas vous connecter à TSM.

Étape 2 :

Utilisez Telnet au port 8850 pour vérifier qu’il fonctionne :
# telnet localhost 8850
Trying ::1...
Connected to localhost.
Escape character is ’^]’.

Si le certificat n’est pas valide, vous verrez ce message d’erreur dans le fichier ~/.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
Il se peut que le journal TSM affiche « timestamp check failed » (échec du contrôle d'horodatage) comme suffixe du message d'erreur ci-dessus au lieu de « validity check failed » (échec du contrôle de validité).
       

Environnement

  • Tableau Server 

Résolution

TSM utilise un certificat SSL auto-signé qui est généré au moment de l’installation.  Dans les versions antérieures, une réinstallation complète de Tableau Server était nécessaire pour regénérer un nouveau certificat SSL.  Dans les versions actuelles, une réinstallation du tabadmincontroller peut être effectuée pour générer un nouveau certificat. 

Les versions actuelles ont ajouté un indicateur, --trust-admin-controller-cert, à TSM et au script upgrade-tsm.  Pour effectuer cette résolution, vous devez installer la même famille de version.  Par exemple, si vous utilisez Tableau Server 2021.4.1, vous devrez installer Tableau Server 2021.4.1 ou une version ultérieure.

Option 1
Effectuez les opérations suivantes lorsqu’il n’est pas possible d’accéder à TSM à partir de la ligne de commande et de mettre à niveau une ancienne version vers une version actuelle dotée du nouvel indicateur.

Accédez au TSM de cette version avec l’indicateur --trust-admin-controller-cert en tant que :  

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

où <version code> est le numéro de la version de build de Tableau Server que vous trouverez dans la page des versions pour cette version de Tableau Server.

Par exemple, essayez tsm data-access repository-access enable --repository-username readonly --repository-password <PASSWORD> --trust-admin-controller-cert
(Remarque : pour les connexions de l’interface en ligne de commande TSM à partir d’ordinateurs distants, vous serez invité à vous fier au certificat d’autorité de certification d’installation de Tableau la première fois que vous vous connecterez à Tableau Server exécutant le contrôleur administratif TSM. Vous pouvez choisir de vous fier au certificat d’autorité de certification, auquel cas vous ne serez plus invité à le faire sur cet ordinateur jusqu’à ce que le certificat expire (la valeur par défaut est de 3 ans). Vous pouvez également vous connecter avec une approbation unique en exécutant votre commande TSM avec l’indicateur --trust-admin-controller-cert.)

Option 2
La réinstallation de tabadmincontroller peut être effectuée sur les versions actuellement prises en charge pour générer un nouveau certificat comme suit :

  1. Ouvrez une invite de commande en tant qu’administrateur (faites un clic droit sur l’invite de commande et sélectionnez « Exécuter en tant qu’administrateur »)
  2. Arrêtez Tableau Server à partir de l’invite de commande en exécutant « tsm stop --trust-admin-controller-cert ».
  3. Accédez à C:\ProgramData\Tableau\Tableau Server\data\tabsvc\services\tabadmincontroller_<version>. (REMARQUE : il s’agit du chemin par défaut. Votre chemin peut être différent si votre installation n’est pas effectuée à l’emplacement par défaut).
  4. Exécutez « uninstall.cmd ». (Le code de sortie 0 signifie que l’opération a fonctionné)
  5. Exécutez « Install.cmd ». (Le code de sortie 0 signifie que l’opération a fonctionné)
  6. Redémarrez l’ordinateur Tableau.
  7. Démarrez Tableau Server à l’aide de l’interface utilisateur Web TSM ou à l’aide de TSM Start.
Option 3
Mettez à niveau Tableau Server en suivant les instructions de l’aide en ligne de Tableau pour le système d’exploitation approprié utilisé et lors de l’exécution du script upgrade-tsm, utilisez l’indicateur --trust-admin-controller-cert.

 

 

Cause

Les versions antérieures de Tableau Server utilisaient un certificat de contrôleur TSM qui expirait après un an.  Actuellement, le certificat est valide jusqu’à trois ans et un nouveau certificat est installé sur les mises à niveau.

Informations supplémentaires

Pour vérifier la date d’expiration du certificat SSL de votre contrôleur TSM, saisissez les commandes suivantes dans le terminal de l’ordinateur exécutant Tableau Server (instructions Linux) :

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




 
Cet article vous a-t-il permis de résoudre le problème ?