【问题标题】:(GCP) : Server Error The server encountered a temporary error and could not complete your request. Please try again in 30 seconds(GCP) : Server Error 服务器遇到临时错误,无法完成您的请求。请在 30 秒后重试
【发布时间】:2019-12-24 15:18:19
【问题描述】:

我在 Google Cloud 中创建了一个“负载均衡器”并将 2 个虚拟机连接到它。当我向“负载均衡器”发送一些请求时,有时它会传递给连接到负载均衡器的虚拟机,有时即使运行状况检查当时 100% OK,也会引发以下错误。

错误:服务器错误 服务器遇到临时错误,无法完成您的请求。
请在 30 秒后重试。

【问题讨论】:

  • 我会查看 Stackdriver 日志,看看是否有关于错误性质的更多信息。
  • 您向负载均衡器发出请求的速度有多快?您的后端 (VM) 能否处理请求数量?此错误页面是来自负载均衡器还是您的后端?
  • @JohnHanley 感谢您的回复,以下是您问题的答案:我每秒发送 1 个请求。是的,后端(VM)的规格很大(即 16GB RAM),我正在通过简单的 GET 调用返回静态响应来测试负载均衡器。此错误页面来自负载均衡器。
  • 根据提供的信息,我不知道。 500 服务器错误意味着负载均衡器正在崩溃(处理您的请求时出现致命错误)。您提出的要求是什么?
  • 这可能是由多种因素造成的。由于提供的信息太笼统,我建议参考 GCP 文档的troubleshooting section 作为一个很好的起点,假设这是一个 HTTP(S) LB。确切的日志记录错误将有助于诊断此问题。

标签: google-cloud-platform load-balancing google-vpc


【解决方案1】:

创建此答案是为了根据 OP 和上面写的 cmets 提供的有限信息来支持社区。​​em>

当您尝试确定 HTTP 负载平衡器问题的根本原因时,最准确的决定是查看日志条目。

根据official google documentation。 HTTP(S) 负载平衡日志条目包含对监控和调试 HTTP(S) 流量有用的信息。

日志条目包含以下类型的信息:

  • 一般信息,例如严重性、项目 ID、项目编号和时间戳。
  • HttpRequest 日志字段。但是,不会为 HTTP(S) 负载平衡 Cloud Logging 日志填充 HttpRequest.protocol
  • structPayload 中的 statusDetails 字段。此字段包含一个字符串,用于解释负载均衡器返回的原因 它所做的 HTTP 状态。下表包含进一步 这些日志字符串的解释。 statusDetails 字段不是 可用于区域外部 HTTP(S) 负载平衡器。
  • 不记录从负载平衡器发出的重定向(已找到 HTTP 响应状态代码 302)。从后端发出的重定向 记录实例。

要在 HTTP 负载均衡器中启用日志条目,请follow this guide

消息“错误:服务器错误服务器遇到临时错误,无法完成您的请求。”可能由多种原因引起,包括:

  • 没有配置防火墙规则以允许运行状况检查。
  • 后端的软件没有运行。

In this page 您可以找到详细指南来执行与一般连接问题相关的完整故障排除。

我发现这些帖子与 HTTP 负载平衡器和 502 响应有关,您可以在这些帖子中找到有用的信息。

【讨论】:

    猜你喜欢
    • 2020-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-18
    相关资源
    最近更新 更多