Azure Http连接在5分钟后中断
我们在Azure的同一个VM上安装了几个RESTful API。 这些网站在IIS上的Kestrel中运行。 它们受到azure应用程序网关和防火墙的保护 我们现在有至少运行20分钟的请求。 请求在Kestrel上不间断地运行(在日志中可见),但发送方要么在5分钟后得到“套接字挂断”,要么永远运行,即使请求在Kestrel中完成。即使发送方的连接中断,请求仍会在Kestrel中继续 我所做的:Azure Http连接在5分钟后中断,azure,Azure,我们在Azure的同一个VM上安装了几个RESTful API。 这些网站在IIS上的Kestrel中运行。 它们受到azure应用程序网关和防火墙的保护 我们现在有至少运行20分钟的请求。 请求在Kestrel上不间断地运行(在日志中可见),但发送方要么在5分钟后得到“套接字挂断”,要么永远运行,即使请求在Kestrel中完成。即使发送方的连接中断,请求仍会在Kestrel中继续 我所做的: 编写了一个小示例应用程序,该应用程序在经过一定数量的 秒排除我们的网站是问题 在VM中运行请求(到本
- 编写了一个小示例应用程序,该应用程序在经过一定数量的 秒排除我们的网站是问题李>
- 在VM中运行请求(到本地主机):没有问题,收到响应李>
- 在Azure中从一个VM运行请求到另一个VM:请求永远运行李>
- 从Azure外部运行请求:请求在5分钟后终止 带“插座挂断”
- 检查设置超时:Kestrel:50m,IIS:4000s,ApplicationGateway HttpSettings:3600
在公共IP的配置刀片下更改它,所以不久前我遇到了类似的情况: 对于我们来说,问题可能是超时,就像另一个答案所建议的那样,但解决方案是(而不是增加超时)在我们的postgres数据库前面添加PGbouncer来管理连接,并确保在超时触发之前启动一个新的连接 不确定您的后端连接是什么样子的,但类似的东西(后端db代理)可以让您更能够调整连接/重新连接 对于我们来说,我们运行的是AKS(azure Kubernetes服务),但所有azure公共IP都遵守相同的规则,导致类似于此的问题
虽然这不是一个答案,但我知道还有两种类型的公共IP地址,其中一种被认为是“基本”的,没有相同的可配置性,可能与基本和标准公共IP/负载平衡器之间的差异有关?谢谢你的建议。PublicIP上的超时设置为4m是正确的。但这并没有解决问题。这是应用网关公共IP吗?是的,VM PublicID已设置为最大。只有应用网关公共Id具有默认值。已将其设置为最大值,但问题仍然存在。如果您通过VM的公共IP发出请求,则处理相同的问题?除了HTTP超时之外,应用网关还可能有TCP超时,不确定,请在下检查其ARM定义。我们放弃了,正在重构该端点以使其异步。谢谢你的帮助。