Herstellen einer Verbindung zu Google Cloud SQL über SSL mit Go
Frage:
Beim Versuch Wenn Sie über Go und den go-sql-Treiber eine Verbindung zu Google Cloud SQL von Google App Engine herstellen, tritt ein x509-Zertifikatfehler mit der Meldung auf:
"x509: Zertifikat ist gültig für Projektname:Instanzname, nicht Projektname"
Antwort:
Dieser Fehler weist normalerweise darauf hin, dass eine zusätzliche Konfiguration erforderlich ist, wenn SSL für die Verbindung mit Cloud SQL verwendet wird. Während die Projekt-ID:Instanzname in der Verbindungszeichenfolge sql.Open() angegeben werden sollte, ist es auch erforderlich, die ServerName-Eigenschaft festzulegen, wenn eine benutzerdefinierte TLSConfig beim MySQL-Treiber registriert wird.
Um das Problem zu beheben Stellen Sie bei diesem Problem sicher, dass das TLS-Setup einen Servernamen im Aufruf von RegisterTLSConfig enthält:
<code class="go">mysql.RegisterTLSConfig("custom", &tls.Config{ RootCAs: rootCertPool, Certificates: clientCert, ServerName: "projectName:instanceName", })</code>
Hängen Sie anschließend ?tls=nameOfYourCustomTLSConfig an die Verbindungszeichenfolge an:
<code class="go">db, err := sql.Open("mysql", "user@cloudsql(project-id:instance-name)/dbname?tls=custom")</code>
Befolgen Sie dazu die folgenden Schritte , können Sie über SSL eine sichere Verbindung zu Google Cloud SQL herstellen.
Das obige ist der detaillierte Inhalt vonWie behebe ich einen SSL-Verbindungsfehler beim Herstellen einer Verbindung zu Google Cloud SQL mit Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!