使用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 屬性時,就會發生此問題。
要解決此問題,請確保在程式碼中包含以下步驟:
<code class="go">mysql.RegisterTLSConfig("custom", &tls.Config{ RootCAs: rootCertPool, Certificates: clientCert, ServerName: "projectName:instanceName", // <-- Added ServerName property })</code>
<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中文網其他相關文章!