Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich mithilfe von Go from App Engine eine Verbindung zu Cloud SQL mit SSL herstellen und Zertifikatfehler beheben?

Wie kann ich mithilfe von Go from App Engine eine Verbindung zu Cloud SQL mit SSL herstellen und Zertifikatfehler beheben?

Linda Hamilton
Linda HamiltonOriginal
2024-10-23 17:48:21324Durchsuche

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

Herstellen einer Verbindung zu Cloud SQL mit SSL über Go von App Engine

In der Dokumentation von Google wird empfohlen, den folgenden Code zu verwenden, um eine Verbindung zu Cloud SQL über Go und herzustellen der 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")

Dies kann jedoch zu einem x509-Zertifikatfehler führen, der auf ein ungültiges Zertifikat für den angegebenen Projektnamen und Instanznamen hinweist. Dieses Problem tritt bei der Verwendung von SSL-Verbindungen auf. Um das Problem zu beheben, muss bei der Registrierung einer benutzerdefinierten TLSConfig mit dem MySQL-Treiber zusätzlich zur Angabe von project-id:instance-name in sql.Open() die ServerName-Eigenschaft festgelegt werden.

Hier ist ein Beispiel dafür So richten Sie die TLS-Konfiguration ein:

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

Hängen Sie als Nächstes ?tls=nameOfYourCustomTLSConfig an die Verbindungszeichenfolge an:

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

Durch Befolgen dieser Schritte können Sie erfolgreich eine Verbindung zu Cloud SQL herstellen SSL von Google App Engine.

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von Go from App Engine eine Verbindung zu Cloud SQL mit SSL herstellen und Zertifikatfehler beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn