Maison > développement back-end > Golang > le corps du texte

Pourquoi Azure SQL Database v12 génère-t-il un échec de négociation TLS après la mise à niveau ?

DDD
Libérer: 2024-10-27 01:15:30
original
345 Les gens l'ont consulté

 Why Does Azure SQL Database v12 Throw a TLS Handshake Failure After Upgrade?

Erreur de la base de données Azure SQL : échec de la négociation TLS après la mise à niveau de la v12

Problème :

Suivant une mise à niveau vers Azure SQL Database v12, les utilisateurs rencontrent un échec de négociation TLS avec le message d'erreur : « Échec de la négociation TLS : x509 : le certificat est valide pour tr12.northcentralus1-a.worker.database.windows.net, *.tr12.northcentralus1 -a.worker.database.windows.net, pas [server-name].database.windows.net."

Dépannage :

Au départ, il était supposé que la chaîne de connexion devait être modifiée. Cependant, il restait cohérent entre l'environnement local fonctionnel et l'Azure Web App où la panne s'est produite.

Résolution :

La solution résidait dans la modification des paramètres de connexion :

  1. Définissez TrustServerCertificate sur True.
  2. Ajoutez le paramètre hostNameInCertificate avec la valeur *.database.windows.net.

Chaîne de connexion finale :

Server=[server-name].database.windows.net;Port=1433;Database=[dbname];User
ID=[user];Password=[pass];Trusted_Connection=False;Encrypt=True;Connection
Timeout=30;
TrustServerCertificate=True;hostNameInCertificate=*.database.windows.net;
Copier après la connexion

Explication :

Le paramètre TrustServerCertificate indique s'il faut faire confiance au certificat de serveur fourni par le service Azure SQL Database. Le définir sur True permet à la connexion de se poursuivre même si le certificat n'est pas émis pour le nom de serveur spécifique spécifié dans la chaîne de connexion.

Le paramètre hostNameInCertificate permet à la connexion de réussir si le certificat du serveur contient le nom d'hôte spécifié. Cela résout le problème de la validité du certificat pour un nom d'hôte différent du nom de serveur spécifié.

Configuration du portail Azure :

Il convient de noter que le portail Azure suggère en définissant TrustServerCertificate sur False et en omettant le paramètre hostNameInCertificate. Cependant, cette configuration n'a pas résolu le problème.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!