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

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

我们有一个系统正在从 AWS 迁移到 Google Cloud。服务器已容器化并通过 Kubernetes 部署。

我们让前端向后端发出 API 调用。很多时候这些 API 调用都会成功。

偶尔,我们会发现 API 调用没有到达后端,而是失败并出现 400 响应,并且正文内容设置为通用 Google 错误:

“400。那是一个错误。

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

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

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

我的问题是:

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

答案1

该错误可能意味着多种情况。如果您可以分享您发送的请求(不包含任何敏感数据),将会有所帮助。

此外,它们可能是对入口资源(HTTP(S)负载均衡器)的 DELETE 或 GET 请求。

如果使用payload进行DELETE请求,它会按预期工作,正如本文所述文档

对于带有有效负载的 GET 请求,会持续进行功能要求允许他们。

相关内容