我正在调查从 AWS 切换到 Azure,并开始遇到一些关于负载均衡器级别的默认 4 分钟超时的问题。他们最近似乎对您现在可以将此值配置为最多 30 分钟的位置进行了一些更改(http://azure.microsoft.com/blog/2014/08/14/new-configurable-idle-timeout-for -azure-load-balancer/),但这不是重点。
当我尝试将我的 hg 存储库克隆到我的 VM 实例时,这个问题目前正在显现。回购相当大,克隆大约 15 分钟后,传输完成,所有网络活动停止,回购处理开始,我几乎立即收到以下错误消息:
“中止:错误:连接尝试失败,因为连接方在一段时间后没有正确响应,或建立连接失败,因为连接的主机没有响应”
我认为这是由于 LB 超时而发生的,尽管我预计它会在 hg 克隆网络活动停止后 4 分钟发生,而不是立即发生。
相关部分(也是我问题的核心)是,在我收到此错误消息并立即尝试再次克隆后,我立即再次收到以下消息:
“中止:错误:连接尝试失败,因为连接方在一段时间后没有正确响应,或建立连接失败,因为连接的主机没有响应”
超时发生后,LB 似乎立即拒绝了我的请求!!!如果我等待 10-20 分钟,我可以再次尝试克隆。如果我猜的话,也许这是一种反 DOS 机制?我的问题是:
- 我的推测正确吗?
- 发生超时后,我能做些什么来立即修改这种“拒绝/阻止”行为吗?
- 有没有其他人在超时发生后立即看到这种“拒绝/阻止”行为?
我正在处理的项目的主要用例涉及上传大文件(最大 100mb),如果客户端超过了分配的超时窗口,我不希望它们被阻止访问我的服务。