为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
红颜莎娜 2022-01-10 16:47:18
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我无法弄清楚如何解决这个问题。在连接字符串中再次添加实例名称(即使它已经存在)没有帮助,根据谷歌自己的文档也不正确。有没有人设法完成这项工作?怎么了?
查看完整描述

1 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

您是否使用 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=nameOfYourCustomTLSConfig


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



查看完整回答
反对 回复 2022-01-10
  • 1 回答
  • 0 关注
  • 170 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信