Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Menyambung ke Cloud SQL dengan SSL menggunakan Go from App Engine dan Menyelesaikan Ralat Sijil?

Bagaimana untuk Menyambung ke Cloud SQL dengan SSL menggunakan Go from App Engine dan Menyelesaikan Ralat Sijil?

Linda Hamilton
Lepaskan: 2024-10-23 17:48:21
asal
418 orang telah melayarinya

How to Connect to Cloud SQL with SSL using Go from App Engine and Resolve Certificate Errors?

Menyambung ke Cloud SQL dengan SSL menggunakan Go from App Engine

Dokumentasi Google mencadangkan menggunakan kod berikut untuk menyambung ke Cloud SQL menggunakan Go dan the go-sql-driver:

import "database/sql"
import _ "github.com/go-sql-driver/mysql"

db, err := sql.Open("mysql", "user@cloudsql(project-id:instance-name)/dbname")
Salin selepas log masuk

Walau bagaimanapun, ini mungkin mengakibatkan ralat sijil x509, yang menunjukkan sijil tidak sah untuk nama projek dan nama contoh yang ditentukan. Isu ini timbul apabila menggunakan sambungan SSL. Untuk menyelesaikannya, sifat ServerName mesti ditetapkan semasa mendaftarkan TLSConfig tersuai dengan pemacu mysql, selain daripada menentukan project-id:instance-name dalam sql.Open().

Berikut ialah contoh bagaimana untuk menyediakan konfigurasi TLS:

mysql.RegisterTLSConfig("custom", &tls.Config{
    RootCAs:      rootCertPool,
    Certificates: clientCert,
    ServerName:   "projectName:instanceName",
})
Salin selepas log masuk

Seterusnya, tambahkan ?tls=nameOfYourCustomTLSConfig pada rentetan sambungan:

db, err := sql.Open("mysql", "user@cloudsql(project-id:instance-name)/dbname?tls=custom")
Salin selepas log masuk

Dengan mengikuti langkah ini, anda boleh berjaya menyambung ke Cloud SQL menggunakan SSL daripada Google App Engine.

Atas ialah kandungan terperinci Bagaimana untuk Menyambung ke Cloud SQL dengan SSL menggunakan Go from App Engine dan Menyelesaikan Ralat Sijil?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan