Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menyelesaikan Ralat Sambungan SSL Semasa Menyambung ke Google Cloud SQL dengan Go?

Bagaimana untuk Menyelesaikan Ralat Sambungan SSL Semasa Menyambung ke Google Cloud SQL dengan Go?

DDD
DDDasal
2024-10-24 03:37:01815semak imbas

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

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn