【问题标题】:Authorize GAE server to access Cloud SQL Instance授权GAE服务器访问Cloud SQL Instance
【发布时间】:2023-04-02 18:45:01
【问题描述】:

我创建了一个 Cloud SQL 实例,我想通过我的 Google App Engine 服务器 (node.js) 访问它 我的问题:是否可以在不将我的 ip 列入白名单的情况下授权从服务器到 Cloud SQL 的请求?

【问题讨论】:

  • 您需要提供更多信息以便我们提供帮助。您使用的是 App Engine 标准环境还是柔性环境?您是尝试从本地计算机还是从部署在 Google 基础架构上的应用进行连接?您是否按照cloud.google.com/sql/docs/mysql/connect-app-engine 的说明进行设置?
  • 我正在使用标准环境,并尝试从已部署的应用程序中访问它。我试图在 node.js 上按照上面的链接进行操作,但并没有真正了解我需要做什么
  • 您可以点击链接cloud.google.com/sql/docs/mysql/connect-app-engine 并从那里开始构建您的项目吗?然后告诉我们您发现了什么错误。顺便说一句,在 App Engine 中,您不需要将任何 IP 列入白名单。
  • @VictorHerasmePerez Iv'e 尝试按照此示例进行操作,但是当我尝试连接到数据库时,似乎我没有这样做的权限,除非我在 gae 的授权部分将我的 IP 列入白名单
  • 请向我们展示您收到的所有错误。确保您正在逐步遵循 nodejs 版本:cloud.google.com/appengine/docs/flexible/nodejs/using-cloud-sql

标签: node.js express google-app-engine google-cloud-sql


【解决方案1】:

好吧,我找到了一个不使用 knex 的解决方案, 基本上我必须添加这个 if 语句

if (process.env.INSTANCE_CONNECTION_NAME && process.env.NODE_ENV === 'production') {
    pool.socketPath = `/cloudsql/${process.env.INSTANCE_CONNECTION_NAME}`;
  }

工作顺利

【讨论】:

  • 太棒了。我很高兴您找到了解决方案。干杯
猜你喜欢
  • 1970-01-01
  • 2018-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-09-28
  • 2023-03-03
  • 2013-11-18
相关资源
最近更新 更多