Wie behebe ich SSL-Zertifikatfehler in Go beim Herstellen einer Verbindung zu Google Cloud SQL?

Patricia Arquette
Freigeben: 2024-10-23 18:14:41
Original
765 Leute haben es durchsucht

How to Resolve SSL Certificate Errors in Go When Connecting to Google Cloud SQL?

Fehlerbehebung bei Datenbankkonnektivität: Beheben von SSL-Problemen in Golang mit Google App Engine und Google Cloud SQL

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.

Ursache und Lösung

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.

Implementierungsempfehlung

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>
Nach dem Login kopieren

Anschließend fügen Sie die folgende Zeichenfolge an Ihre Datenbankverbindungszeichenfolge an:

<code class="go">?tls=nameOfYourCustomTLSConfig</code>
Nach dem Login kopieren

Zum Beispiel:

<code class="go">db, err := sql.Open("mysql", "user@cloudsql(project-id:instance-name)/dbname?tls=custom")</code>
Nach dem Login kopieren

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!

Quelle:php
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!