Heim >Backend-Entwicklung >Golang >Wie behebe ich einen SSL-Verbindungsfehler beim Herstellen einer Verbindung zu Google Cloud SQL mit Go?

Wie behebe ich einen SSL-Verbindungsfehler beim Herstellen einer Verbindung zu Google Cloud SQL mit Go?

DDD
DDDOriginal
2024-10-24 03:37:01817Durchsuche

How to Resolve SSL Connection Error When Connecting to Google Cloud SQL with Go?

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!

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