iis - GCP 负载平衡器 502 服务器错误和 "backend_connection_closed_before_data_sent_to_client"IIS 10

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

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

最佳答案

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

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

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

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

请参见下面的屏幕截图。 Load balancer settings

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

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

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

IIS Settings

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

关于iis - GCP 负载平衡器 502 服务器错误和 "backend_connection_closed_before_data_sent_to_client"IIS 10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50020779/

相关文章:

asp.net - IIS URL 重写 - 具有多个域

javascript - IIS Rewrite 在刷新时丢失 Angular 应用程序中的路径

docker - 如何将自签名证书放到GKE集群的每个节点上?

google-cloud-platform - 为了检测谷歌云中的文本,有没有办法只打印一次文本而不是逐行打印?

Nginx-Ingress Controller 后面的 Nginx 服务器

iis - Window 7 中 IIS 7.5 管理器的操作面板中缺少绑定(bind)功能

javascript - 使用 JavaScript 将本地镜像转换为 base64

google-cloud-platform - 即使存在配额,Google Compute Engine 也找不到 GPU

kubernetes - 如何使用kubernetes服务从Google Network Load Balancer获取客户端IP

java - 如何在重定向中删除 session ID Apache2 AJP 负载平衡 Tomcats