ERROR: (gcloud.sql.connect) HTTPError 400: The incoming request contained invalid data

ERROR: (gcloud.sql.connect) HTTPError 400: The incoming request contained invalid data

问题

我无法使用命令行连接到我的 Cloud SQL postgres 实例,该实例之前一直有效:

gcloud sql connect <instance_name> --user=<username>

这是我遇到的错误:

ERROR: (gcloud.sql.connect) HTTPError 400: The incoming request contained invalid data.

版本

运行 macOS Mojave 10.14 (18A391) 通过我的三星 Galaxy S8 连接 4G 热点。

$ gcloud --version

Google Cloud SDK 227.0.0
bq 2.0.39
core 2018.11.30
gsutil 4.34

日志

运行 带有 --log-http 标志的命令,它 returns:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "invalidRequest",
    "message": "The incoming request contained invalid data."
   }
  ],
  "code": 400,
  "message": "The incoming request contained invalid data."
 }
}

问题

为什么会发生这种情况,我该如何解决?

显然这与我的网络连接有关。它在我家里的网络上工作。所以这并不是 gcloud 的真正问题。但是,我仍然不知道为什么在使用我的 phone 网络时它不起作用。

尝试使用代理连接。 按照下面 link 中提供的步骤操作: https://cloud.google.com/sql/docs/postgres/connect-admin-proxy

或者使用“连接”部分中的“添加网络”选项添加您的服务器 CIDR 地址。

我 运行 在 MacOS 上也遇到了这个问题(虽然不是网络共享),并且仅在我的网络首选项中将 ipv6 切换到 link-local 修复了它。正如对已接受答案的评论所提到的,这里仍然有一个关于这个问题的开放功能请求:https://issuetracker.google.com/issues/72219717