Menyambung ke Google Cloud SQL dengan SSL dan Golang daripada Google App Engine
Menyambung ke Google Cloud SQL menggunakan Golang dan go-sql- pemandu boleh menghadapi ralat semasa menggunakan SSL. Satu ralat khusus yang mungkin timbul ialah:
x509: certificate is valid for projectName:instanceName, not projectName
Untuk menyelesaikan isu ini, adalah penting untuk menetapkan sifat ServerName apabila mendaftar TLSConfig tersuai dengan pemacu MySQL, selain daripada menentukan project-id:instance -name within sql.Open().
Berikut ialah contoh yang menunjukkan pembetulan ini:
<code class="go">import "database/sql" import _ "github.com/go-sql-driver/mysql" // Create a custom TLS configuration. tlsConfig := &tls.Config{ RootCAs: rootCertPool, Certificates: clientCert, ServerName: "projectName:instanceName", } // Register the TLS configuration with the MySQL driver. mysql.RegisterTLSConfig("custom", tlsConfig) // Establish the database connection with SSL enabled. db, err := sql.Open("mysql", "user@cloudsql(project-id:instance-name)/dbname?tls=custom")</code>
Dengan menambahkan ?tls=nameOfYourCustomTLSConfig pada rentetan sambungan, anda boleh menentukan konfigurasi TLS tersuai untuk digunakan. Ini memastikan bahawa sambungan diwujudkan dengan betul dengan SSL.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan \'x509: sijil sah untuk ...\' Ralat Menyambung ke Cloud SQL dengan SSL dan Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!