首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >托管在Google运行中的幽灵试图连接到Cloud和gots超时读取通信包

托管在Google运行中的幽灵试图连接到Cloud和gots超时读取通信包
EN

Stack Overflow用户
提问于 2021-11-14 07:26:52
回答 2查看 1.8K关注 0票数 0
  • 我在Google中部署了一个带有Ghost的码头容器。
  • 云运行服务有一个具有Cloud客户端角色的服务帐户。
  • 我已经将SQL实例添加到Cloud的连接中。
  • Ghost的配置文件如下所示
代码语言:javascript
复制
  "database": {
    "client": "mysql",
    "connection": {
      "socketPath": "/cloudsql/xxxxxxx",
      "user": "xxxxxxx",
      "password": "xxxxxxx",
      "database": "ghost1"
    }
  },
  • 我有一个MySQL实例正在启动和运行。我可以通过公共IP连接到它,并使用相同的凭据。

在部署容器之后,我将在Ghost上得到一个“我们马上回来”页面。当我查看每一边的日志时,我看到一些错误,我不理解其根本原因。

Google:日志的示例

2021-11-14T06:40:37.183921Z6971警告用户'mysql.session'@'localhost‘被分配给访问0x8000,但只允许拥有0x0。

2021-11-14T06:49:09.008652Z 7002注中止到db的连接7002:'ghost1‘用户:'xxxxxxx’主机:'cloudsqlproxy~107.178.207.100‘(读取通信数据包时出错)

2021-11-14T06:50:29.721121Z 7471 Note获得超时读取通信数据包

GoogleCloudRun日志的示例

DatabaseError: Knex:超时获取连接。游泳池可能满了。你错过了一个.transacting电话吗?在DatabaseError.KnexMigrateError

我尝试过很多组合,比如使用VPC连接器和私有IP,但是我一直都会遇到相同的网络超时错误。我怀疑Ghost mysql适配器库(knex)做错了什么,但我不确定这是否正确,以及是否有什么我可以做的。

谢谢你的帮忙

EN

回答 2

Stack Overflow用户

发布于 2021-11-17 18:23:03

不管它的价值是什么,我们有通过Unix套接字连接的示例应用程序

只要连接到公共IP,就不需要无服务器的VPC访问连接器或私有IP。

此外,您还可以反复检查套接字路径是否正确。它应该是这样的:/cloudsql/project-name:region:instance-name

这里有一个类似的问题可能会有所帮助:

如何在GCP上使用MySQL运行Ghost?

票数 0
EN

Stack Overflow用户

发布于 2022-04-01 02:01:46

确保只允许SSL连接,并为实例创建新的证书链。

代码语言:javascript
复制
       "ssl": {
            "cert": "<database_cert>",
            "ca": "<database_ca>",
            "key": "<database_key>"
       }

这里的例子

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69961107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档