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

我已经按照https://cloud.google.com/compute/docs/load-balancing/http/ 上的文档配置了一个 HTTP(S) 负载均衡器

当我尝试通过与负载均衡器关联的公共 IP 地址访问该站点时。我收到一条 502 响应消息:

错误:服务器错误

服务器遇到临时错误,无法完成您的请求。

请在 30 秒后重试。

我相信这是来自负载平衡器。

任何人都对可能发生的事情有任何见解,我还应该看什么?

【问题讨论】:

    标签: google-cloud-platform google-cloud-load-balancer


    【解决方案1】:

    难道负载均衡器依赖于您使用的是 URL 而不是 IP 地址?

    可能有几个原因。

    1. URL 指向负载均衡器,负载均衡器有一个服务于该 URL 的服务器 IP 地址列表;然后它选择一个服务器并转发请求。为此,它必须接收原始 URL,因为负载平衡器可能正在为多组服务器提供服务。
    2. 如果 IP 地址指向负载均衡器,它将不知道从哪组服务器中选择。如果 IP 地址指向服务器,则会绕过负载平衡器。

    我能想到的就这么多了…… 果酱

    【讨论】:

      【解决方案2】:

      查看文档Troubleshooting HTTP(S) Load BalancingUnexplained 502 errors 部分:

      如果 502 错误在您完成后持续超过几分钟 负载均衡器配置,很可能

      要验证运行状况检查流量是否到达您的后端虚拟机,enable health check logging 并搜索成功的日志条目。

      要创建允许来自 Google Cloud 运行状况检查系统(130.211.0.0/2235.191.0.0/16)的流量的入口规则,您可以使用 Cloud Console 或以下命令:

      gcloud compute firewall-rules create fw-allow-health-check \
          --network=default \
          --action=allow \
          --direction=ingress \
          --source-ranges=130.211.0.0/22,35.191.0.0/16 \
          --target-tags=allow-health-check \
          --rules=tcp
      

      在此命令中target tag allow-health-check 用于识别虚拟机。

      【讨论】:

        【解决方案3】:

        我遇到了同样的问题。经过一天的搜索,这是一个health checker 的问题。健康测试是在TCP上,我改成HTTP,问题就解决了。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-04-18
          • 2015-09-21
          相关资源
          最近更新 更多