Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menyelesaikan Ralat Sijil SSL dalam Go Apabila Menyambung ke Google Cloud SQL?

Bagaimana untuk Menyelesaikan Ralat Sijil SSL dalam Go Apabila Menyambung ke Google Cloud SQL?

Patricia Arquette
Patricia Arquetteasal
2024-10-23 18:14:41858semak imbas

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

Menyelesaikan Masalah Ketersambungan Pangkalan Data: Menyelesaikan Isu SSL di Golang dengan Google App Engine dan Google Cloud SQL

Menurut dokumentasi Google, mewujudkan sambungan pangkalan data antara Go dan Google Cloud SQL menggunakan go-sql-driver dan SSL haruslah mudah. Walau bagaimanapun, pengguna mungkin menghadapi ralat sijil x509 yang membingungkan.

Punca Punca dan Penyelesaian

Mesej ralat menunjukkan bahawa pengguna menyambung dengan SSL. Untuk membetulkan isu ini, pastikan sifat ServerName ditetapkan dalam panggilan RegisterTLSConfig yang dibuat dengan pemacu mysql. Konfigurasi ini mesti dilakukan bersama-sama dengan menentukan project-id:instance-name dalam fungsi sql.Open().

Syor Pelaksanaan

Untuk menangani isu ini, ubah suai konfigurasi TLS anda kepada sertakan tetapan Nama Pelayan tersuai, seperti yang ditunjukkan di bawah:

<code class="go">mysql.RegisterTLSConfig("custom", &tls.Config{
            RootCAs:      rootCertPool,
            Certificates: clientCert,
            ServerName:   "projectName:instanceName",
        })</code>

Seterusnya, tambahkan rentetan berikut pada rentetan sambungan pangkalan data anda:

<code class="go">?tls=nameOfYourCustomTLSConfig</code>

Sebagai contoh:

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

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat Sijil SSL dalam Go Apabila Menyambung ke Google Cloud SQL?. 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