使用 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中文网其他相关文章!