Laut der Dokumentation von Google wird eine Datenbankverbindung zwischen Go und Google Cloud SQL hergestellt Die Verwendung des Go-SQL-Treibers und SSL sollte unkompliziert sein. Benutzer können jedoch auf einen verwirrenden x509-Zertifikatfehler stoßen.
Die Fehlermeldung deutet darauf hin, dass der Benutzer eine Verbindung mit SSL herstellt. Um dieses Problem zu beheben, stellen Sie sicher, dass die ServerName-Eigenschaft im RegisterTLSConfig-Aufruf festgelegt ist, der mit dem MySQL-Treiber durchgeführt wird. Diese Konfiguration muss in Verbindung mit der Angabe der Projekt-ID:Instanzname innerhalb der Funktion sql.Open() durchgeführt werden.
Um dieses Problem zu beheben, ändern Sie Ihre TLS-Konfiguration auf Fügen Sie eine benutzerdefinierte ServerName-Einstellung ein, wie unten gezeigt:
<code class="go">mysql.RegisterTLSConfig("custom", &tls.Config{ RootCAs: rootCertPool, Certificates: clientCert, ServerName: "projectName:instanceName", })</code>
Anschließend fügen Sie die folgende Zeichenfolge an Ihre Datenbankverbindungszeichenfolge an:
<code class="go">?tls=nameOfYourCustomTLSConfig</code>
Zum Beispiel:
<code class="go">db, err := sql.Open("mysql", "user@cloudsql(project-id:instance-name)/dbname?tls=custom")</code>
Das obige ist der detaillierte Inhalt vonWie behebe ich SSL-Zertifikatfehler in Go beim Herstellen einer Verbindung zu Google Cloud SQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!