当前位置: 首页 > 面试题库 >

无法使用Google App Engine的SSL + Golang连接到Google Cloud SQL

刘俊语
2023-03-14
问题内容

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有效

我不知道如何解决这个问题。根据Google自己的文档,在连接字符串中再次添加实例名称(即使已经存在)也无济于事。

有没有人设法做到这一点?怎么了?


问题答案:

您正在使用SSL连接吗?该错误信息表明, 除了 指定inside 之外ServerName还必须在
使用mysql驱动程序注册自定义TLSConfig时设置属性。project-id:instance-name``sql.Open()

例如,使用docs中的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")


 类似资料:
  • 几年前,我已经在Codeigniter(php)中实现了推送通知到我的项目中,直到10天前,一切都运行良好。我的文件在我的本地服务器以及在线通知工具上运行良好。 错误:"stream_socket_client():无法连接到ssl://gateway.push.apple.com:2195(连接拒绝)"。 我正在使用以下功能:

  • 0个 我正在尝试从Java连接到邮件服务器。我已经能够使用相同的代码成功地从Java连接到许多邮件服务器,包括Gmail、Rackspace、GoDaddy和其他,但是无论我尝试什么设置,这个都不起作用。 此操作失败,javax.mail.MessaginException:无法将套接字转换为TLS;嵌套异常为:javax.net.ssl.SSLException:无法识别的ssl消息,纯文本连接

  • 问题内容: 我目前将我的Redis缓存服务器托管在Azure上,并使用以下命令让SignalR将其作为骨干网… GlobalHost.DependencyResolver.UseRedis(“ Server”,port,“ password”,“ eventKey”); 可以在端口6379(非SSL)上找到此功能,但是当我尝试连接到Azure Redis服务器的SSL端口(6380)时,聊天应用程

  • 使用SSL连接到Postgres时引发异常。 原因:javax.net.ssl.SSLException:收到致命警报:在sun . security . SSL . alerts . getsslexception(alerts . Java:208)在sun . security . SSL . alerts . getsslexception(alerts . Java:154)在sun .

  • 问题内容: 我的意思是说非常简单。我想通过安全连接从PHP脚本连接到外部MS SQL数据库。然而,事实证明这是有问题的,到目前为止,花了三个小时进行研究,我很茫然。 客户端的平台是Ubuntu,这意味着我无法使用SQLSRV。安全连接已与其他客户端进行了测试,并且工作正常。我目前正在使用PDO和DBlib连接到数据库,这也可以正常工作。 我找不到能强制建立安全连接的任何方法。我尝试了多种其他驱动程

  • 我有一个Spring Boot应用程序(版本2.1.1),使用Postgresql 9.6作为数据库。我必须使用sslmode=verify ca通过SSL连接到db。到目前为止,我所做的是在申请表中设置。属性文件属性 有没有办法在其他一些Spring属性中指定ssl属性而不是在连接url中? 此外,还可以为证书指定相对路径,而不是使用绝对路径?