如何调试 Google Cloud 中的内部 400 错误

Dan*_*ack 6 google-compute-engine google-cloud-platform

我们有一个要从 AWS 迁移到 Google Cloud 的系统。服务器通过 Kubernetes 进行容器化和部署。

我们有前端对后端进行 api 调用。很多时候这些 api 调用都会成功。

间歇性地,我们看到 api 调用失败并返回 400 响应,而不是访问后端,正文内容设置为通用的 Google 错误:

“400。这是一个错误。

您的客户发出了格式错误或非法的请求。我们知道的就这些。”

我们在日志中看不到到达后端的请求。就好像它在谷歌内部迷失了一样。

从前端容器内部或从我们的本地机器从命令行执行完全相同的调用每次都有效。

我的问题是:

i) 有没有人看到过类似的东西并且有解决这个问题的方法?

ii) 我们如何调试它?

仅供参考,请求是一个简单的 GET,如下所示:“ https://example.com/v1/session/12345?frontend_ip=1.2.3.4%2C+5.6.7.8&req_timestamp=2018-04-19+10%3A46

cry*_*tek 4

该错误可能有多种含义。如果您可以分享您发送的请求(没有任何敏感数据),将会有所帮助。

此外,它们可能是带有主体的 DELETE 或 GET 请求,发送至入口资源(HTTP(S) 负载均衡器)。

如果使用 paylaod 发出 DELETE 请求,它会按本文档中提到的预期工作。

如果是带有有效负载的 GET 请求,则存在持续的功能请求来允许它们。