首頁 >後端開發 >Golang >如何解決 Google Cloud SQL 與 Golang 的 SSL 連線問題?

如何解決 Google Cloud SQL 與 Golang 的 SSL 連線問題?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-24 05:37:30900瀏覽

How to Resolve SSL Connection Issues for Google Cloud SQL with Golang?

使用Golang 從Google App Engine 排查與Google Cloud SQL 的SSL 連線問題

嘗試從Google App 建立與Google Cloud SQL 的連接時使用go-sql-driver 和SSL 的引擎,開發人員常會遇到「certificate is valid for projectName:instanceName, not projectName」錯誤。當使用 mysql 驅動程式註冊自訂 TLSConfig 時未明確設定 ServerName 屬性時,就會發生此問題。

要解決此問題,請確保在程式碼中包含以下步驟:

  1. 使用所需的憑證和金鑰註冊TLSConfig,將ServerName 設定為您的專案和實例名稱:
<code class="go">mysql.RegisterTLSConfig("custom", &tls.Config{
    RootCAs:      rootCertPool,
    Certificates: clientCert,
    ServerName:   "projectName:instanceName", // <-- Added ServerName property
})</code>
  1. 將「?tls=nameOfYourCustomTLSConfig」附加到您的資料庫連線字串:
<code class="go">db, err := sql.Open("mysql", "user@cloudsql(project-id:instance-name)/dbname?tls=custom")</code>

透過這些調整,您將使用Golang 成功建立從Google App Engine 到Cloud SQL 實例的SSL 連線。

以上是如何解決 Google Cloud SQL 與 Golang 的 SSL 連線問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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