Maison >développement back-end >Golang >Comment résoudre les erreurs de certificat SSL dans Go lors de la connexion à Google Cloud SQL ?

Comment résoudre les erreurs de certificat SSL dans Go lors de la connexion à Google Cloud SQL ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-23 18:14:41842parcourir

How to Resolve SSL Certificate Errors in Go When Connecting to Google Cloud SQL?

Dépannage de la connectivité de la base de données : résolution des problèmes SSL dans Golang avec Google App Engine et Google Cloud SQL

Selon la documentation de Google, établissement d'une connexion à la base de données entre Go et Google Cloud SQL l'utilisation du pilote go-sql et de SSL devrait être simple. Cependant, les utilisateurs peuvent rencontrer une erreur de certificat x509 déroutante.

Cause première et solution

Le message d'erreur suggère que l'utilisateur se connecte avec SSL. Pour résoudre ce problème, assurez-vous que la propriété ServerName est définie dans l'appel RegisterTLSConfig effectué avec le pilote mysql. Cette configuration doit être effectuée en spécifiant le project-id:instance-name dans la fonction sql.Open().

Recommandation de mise en œuvre

Pour résoudre ce problème, modifiez votre configuration TLS pour incluez un paramètre ServerName personnalisé, comme indiqué ci-dessous :

<code class="go">mysql.RegisterTLSConfig("custom", &tls.Config{
            RootCAs:      rootCertPool,
            Certificates: clientCert,
            ServerName:   "projectName:instanceName",
        })</code>

Ensuite, ajoutez la chaîne suivante à la chaîne de connexion à votre base de données :

<code class="go">?tls=nameOfYourCustomTLSConfig</code>

Par exemple :

<code class="go">db, err := sql.Open("mysql", "user@cloudsql(project-id:instance-name)/dbname?tls=custom")</code>

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!

Déclaration:
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