【问题标题】:GCP load balancer 502 server error and "backend_connection_closed_before_data_sent_to_client" IIS 10GCP 负载平衡器 502 服务器错误和“backend_connection_closed_before_data_sent_to_client”IIS 10
【发布时间】:2018-10-05 20:13:01
【问题描述】:

我有带有 4 个 IIS 10 Web 服务器的 GCP 负载平衡器。偶尔会出现 502-Server 错误。在日志中显示这是因为 backend_connection_closed_before_data_sent_to_client。我已经阅读了文章https://cloud.google.com/compute/docs/load-balancing/http/,它说对于 nginx 和 apache,keepalive timout 需要设置为 620 秒。如何在 IIS 10 中执行相同操作。

【问题讨论】:

    标签: iis google-cloud-platform load-balancing http-error iis-10


    【解决方案1】:

    在提出票证谷歌云团队后想通了这一点。我把它放在这里是为了让其他人受益。

    第 1 步:在 Google Cloud Load Balancer 中设置超时

    谷歌云负载均衡器有两种超时设置。

    1. 超时
    2. 连接耗尽超时。

    请参阅下面的屏幕截图。

    以上两个设置必须相同。在我们的例子中,有许多长时间运行的请求,它被设置为 1800 秒。

    第 2 步:将 IIS 中的连接超时设置为大于负载平衡器设置 20 秒

    在 IIS 站点名称下 - 转到 高级设置,然后将 连接超时 值设置为比负载平衡器超时多 20 秒。在我的情况下是 1820。

    这个想法是 IIS 连接不应该在负载平衡器之前超时。如果超时则可能会导致 backend_connection_closed_before_data_sent_to_client 错误。

    【讨论】:

      【解决方案2】:

      您可以在 web.config 中将其设置为 http 运行时中的执行超时属性,默认情况下,当您设置 keep alive 时,它​​将超时设置为 120 秒。如果仍然无法正常工作,那么您的请求之间可能存在代理服务器响应过程。您必须检查代理服务器是否超时。

      我在 gcp 中遇到了同样的情况,我已经在负载均衡器级别设置了所有内容,但没有工作。然后我发现我们的进程之间有一个代理服务器。让我知道您是否可以更详细地告诉我

      【讨论】:

      • 什么是 web.config 设置,它应该适用于 IIS 10。
      • 您可能需要查看this 线程,他们在该线程中讨论了更改 IIS 上的 Keep-alive 值。看看对你有没有帮助
      猜你喜欢
      • 2020-10-28
      • 2018-12-30
      • 2021-09-18
      • 1970-01-01
      • 1970-01-01
      • 2017-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多