Heim  >  Artikel  >  Backend-Entwicklung  >  Wie löst man SSL-Verbindungsprobleme für Google Cloud SQL mit Golang?

Wie löst man SSL-Verbindungsprobleme für Google Cloud SQL mit Golang?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-24 05:37:30822Durchsuche

How to Resolve SSL Connection Issues for Google Cloud SQL with Golang?

Fehlerbehebung bei SSL-Verbindungen zu Google Cloud SQL mit Golang von Google App Engine

Beim Versuch, eine Verbindung zu Google Cloud SQL von Google App herzustellen Wenn die Engine den go-sql-driver und SSL verwendet, stoßen Entwickler häufig auf den Fehler „Zertifikat ist gültig für Projektname:Instanzname, nicht für Projektname“. Dieses Problem tritt auf, wenn die ServerName-Eigenschaft bei der Registrierung einer benutzerdefinierten TLSConfig mit dem MySQL-Treiber nicht explizit festgelegt wird.

Um dieses Problem zu beheben, stellen Sie sicher, dass Sie die folgenden Schritte in Ihren Code einschließen:

  1. Registrieren Sie eine TLSConfig mit dem gewünschten Zertifikat und den gewünschten Schlüsseln und setzen Sie den ServerName auf Ihren Projekt- und Instanznamen:
<code class="go">mysql.RegisterTLSConfig("custom", &tls.Config{
    RootCAs:      rootCertPool,
    Certificates: clientCert,
    ServerName:   "projectName:instanceName", // <-- Added ServerName property
})</code>
  1. Hängen Sie „?tls=nameOfYourCustomTLSConfig“ an Ihre Datenbankverbindungszeichenfolge an:
<code class="go">db, err := sql.Open("mysql", "user@cloudsql(project-id:instance-name)/dbname?tls=custom")</code>

Durch die Implementierung dieser Anpassungen stellen Sie mithilfe von Golang erfolgreich eine SSL-Verbindung zu Ihrer Cloud SQL-Instanz von Google App Engine her.

Das obige ist der detaillierte Inhalt vonWie löst man SSL-Verbindungsprobleme für Google Cloud SQL mit Golang?. 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