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!