Maison  >  Article  >  développement back-end  >  Comment se connecter à Cloud SQL avec SSL à l'aide de Go depuis App Engine et résoudre les erreurs de certificat ?

Comment se connecter à Cloud SQL avec SSL à l'aide de Go depuis App Engine et résoudre les erreurs de certificat ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-23 17:48:21324parcourir

How to Connect to Cloud SQL with SSL using Go from App Engine and Resolve Certificate Errors?

Connexion à Cloud SQL avec SSL à l'aide de Go depuis App Engine

La documentation de Google suggère d'utiliser le code suivant pour se connecter à Cloud SQL à l'aide de Go et the go-sql-driver :

import "database/sql"
import _ "github.com/go-sql-driver/mysql"

db, err := sql.Open("mysql", "user@cloudsql(project-id:instance-name)/dbname")

Cependant, cela peut entraîner une erreur de certificat x509, indiquant un certificat non valide pour le nom de projet et le nom d'instance spécifiés. Ce problème survient lors de l'utilisation de connexions SSL. Pour le résoudre, la propriété ServerName doit être définie lors de l'enregistrement d'un TLSConfig personnalisé avec le pilote mysql, en plus de spécifier le project-id:instance-name dans sql.Open().

Voici un exemple de la façon dont pour configurer la configuration TLS :

mysql.RegisterTLSConfig("custom", &tls.Config{
    RootCAs:      rootCertPool,
    Certificates: clientCert,
    ServerName:   "projectName:instanceName",
})

Ensuite, ajoutez ?tls=nameOfYourCustomTLSConfig à la chaîne de connexion :

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

En suivant ces étapes, vous pouvez vous connecter avec succès à Cloud SQL à l'aide SSL de Google App Engine.

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