根據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中文網其他相關文章!