Menyambung ke Google Cloud SQL Menggunakan SSL dengan Go
Soalan:
Apabila cuba untuk sambung ke Google Cloud SQL daripada Google App Engine menggunakan Go dan pemacu go-sql, ralat sijil x509 berlaku, dengan mesej:
"x509: sijil sah untuk projectName:instanceName, bukan projectName"
Jawapan:
Ralat ini biasanya menunjukkan bahawa konfigurasi tambahan diperlukan apabila menggunakan SSL untuk menyambung ke Cloud SQL. Walaupun project-id:instance-name harus dinyatakan dalam rentetan sambungan sql.Open(), ia juga perlu untuk menetapkan sifat ServerName apabila mendaftarkan TLSConfig tersuai dengan pemacu mysql.
Untuk menyelesaikan masalah isu, pastikan bahawa persediaan TLS termasuk Nama Pelayan dalam panggilan ke RegisterTLSConfig:
<code class="go">mysql.RegisterTLSConfig("custom", &tls.Config{ RootCAs: rootCertPool, Certificates: clientCert, ServerName: "projectName:instanceName", })</code>
Seterusnya, tambahkan ?tls=nameOfYourCustomTLSConfig pada rentetan sambungan:
<code class="go">db, err := sql.Open("mysql", "user@cloudsql(project-id:instance-name)/dbname?tls=custom")</code>
Dengan mengikuti langkah ini , anda boleh mewujudkan sambungan selamat ke Google Cloud SQL menggunakan SSL.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat Sambungan SSL Semasa Menyambung ke Google Cloud SQL dengan Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!