Haproxy 1.8和IIS+;Windows update-检查问题

Haproxy 1.8和IIS+;Windows update-检查问题,iis,haproxy,windows-update,Iis,Haproxy,Windows Update,我有以下设置: 作为后端的多个IIS服务器之间的Haproxy负载平衡。 后端配置了“http检查禁用-on-404” 当要重新启动服务器时,我们可以调用一个自定义url,使我们的网站在检查调用时返回一个404,从而使网站正常关闭。然后,HaProxy将使服务器停止维护,当服务器重新启动时,HaProxy将在其检查连接上失败,并使服务器退出池。关于http检查禁用-on-404: 当服务器恢复时,我们的网站被配置为自动启动haproxy检查url上的信令200,并且服务器再次添加到后端池 到目前

我有以下设置:

作为后端的多个IIS服务器之间的Haproxy负载平衡。 后端配置了“http检查禁用-on-404”

当要重新启动服务器时,我们可以调用一个自定义url,使我们的网站在检查调用时返回一个404,从而使网站正常关闭。然后,HaProxy将使服务器停止维护,当服务器重新启动时,HaProxy将在其检查连接上失败,并使服务器退出池。关于http检查禁用-on-404:

当服务器恢复时,我们的网站被配置为自动启动haproxy检查url上的信令200,并且服务器再次添加到后端池

到目前为止还不错

现在问题是:

运行Windows Update(此处使用的是Windows server 2019)时,流程通常为:

  • 我们在网站上发布了404信号
  • Haproxy检测到这一点并将其从池中移除
  • 服务器重新启动,haproxy将其从池中清除
  • 服务器启动
  • Windows update现在正在运行,IIS返回503服务在所有http调用中都不可用
  • Haproxy将其视为与404不同的有效http请求,现在Haproxy实际将其添加到池中
  • 5秒钟后,检查调用返回503,haproxy现在检测到服务器已关闭,并再次将其从池中移除
  • 但在第6步中,Haproxy实际上已将实际请求发送到相关服务器,这些请求均已失败,并从服务器返回“503服务不可用”,因此,在windows update的计划服务窗口中,我们有5秒钟的错误

    我有以下几点想法:

    想法A)让haproxy确定503为维护。但这是危险的,因为在非计划发明中,来自IIS的现实生活503不会被当作haproxy的失败来处理 想法B)确保IIS在windows处于维护模式时不为503提供服务 想法C)检测windows update是否从我们的Web应用程序内部运行,并在对haproxy的检查调用中返回一个漂亮的404

    是否有人对如何在windows update运行时避免服务服务器请求有很好的了解