首頁 >後端開發 >Golang >如何解決 Go 連線到 Google Cloud SQL 時出現 SSL 憑證錯誤?

如何解決 Go 連線到 Google Cloud SQL 時出現 SSL 憑證錯誤?

Patricia Arquette
Patricia Arquette原創
2024-10-23 18:14:41843瀏覽

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

資料庫連線故障排除:使用Google App Engine 和Google Cloud SQL 解決Golang 中的SSL 問題

根據Google 文件,在Go 和Google Cloud SQL 之間建立資料庫連線使用go-sql-driver 和SSL 應該很簡單。然而,使用者可能會遇到令人困惑的 x509 憑證錯誤。

根本原因和解決方案

錯誤訊息表示使用者正在使用 SSL 連線。若要修正此問題,請確保在使用 mysql 驅動程式進行的 RegisterTLSConfig 呼叫中設定 ServerName 屬性。此配置必須與在 sql.Open() 函數中指定 project-id:instance-name 一起執行。

實作建議

要解決此問題,請將您的TLS 配置修改為包含自訂ServerName 設置,如下所示:

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

隨後,將以下字串附加到您的資料庫連接字串:

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

例如:

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

以上是如何解決 Go 連線到 Google Cloud SQL 時出現 SSL 憑證錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn