Maison >développement back-end >Golang >Pourquoi Azure SQL Database v12 génère-t-il un échec de négociation TLS après la mise à niveau ?
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 :
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;
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!