无法使用来自 Google App Engine 的 SSL + Golang 连接到

Google 表示您可以使用 Golang 等连接到 Google Cloud SQL go-sql-driver:


import "database/sql"

import _ "github.com/go-sql-driver/mysql"


db, err := sql.Open("mysql", "user@cloudsql(project-id:instance-name)/dbname")

参考:https : //cloud.google.com/appengine/docs/go/cloud-sql/reference


...但是,这(对我而言)会生成 x509 证书错误:


x509:证书对 projectName:instanceName 有效,而不是 projectName


我无法弄清楚如何解决这个问题。在连接字符串中再次添加实例名称(即使它已经存在)没有帮助,根据谷歌自己的文档也不正确。


有没有人设法完成这项工作?怎么了?


红颜莎娜
浏览 171回答 1
1回答

眼眸繁星

您是否使用 SSL 连接?此错误消息表明必须设置ServerName在您注册的自定义TLSConfig与MySQL驱动,物业除了指定project-id:instance-name内部sql.Open()。例如,使用文档中的 TLS 设置,但ServerName在您的调用中添加一个RegisterTLSConfig:mysql.RegisterTLSConfig("custom", &tls.Config{            RootCAs:      rootCertPool,            Certificates: clientCert,            ServerName:   "projectName:instanceName",        })然后追加 ?tls=nameOfYourCustomTLSConfigdb, err := sql.Open("mysql", "user@cloudsql(project-id:instance-name)/dbname?tls=custom")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go