首页 > 解决方案 > GCP 负载平衡器 502 服务器错误和“backend_connection_closed_before_data_sent_to_client”IIS 10

问题描述

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

标签: iisgoogle-cloud-platformload-balancinghttp-erroriis-10

解决方案


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

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

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

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

请参阅下面的屏幕截图。 负载均衡器设置

上述两个设置都需要相同。在我们的例子中,有许多长时间运行的请求,它设置为 1800 秒。

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

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

IIS 设置

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


推荐阅读