我已经使用 IIS 设置了多台服务器,并将它们连接到负载平衡器 - 安装了 IIS 应用程序请求路由的服务器。我创建了一个服务器场并添加了两台服务器。然后我在第一台服务器上停止了 IIS,并尝试打开我的网站。它返回了一个错误:
502 - Web server received an invalid response while acting as a gateway or proxy server. [There is a problem with the page you are looking for, and it cannot be displayed. When the Web server (while acting as a gateway or proxy) contacted the upstream content server, it received an invalid response from the content server.]
但是,如果我不停止 IIS 而是关闭第一台服务器,我会收到下一台在线服务器的响应。问题是,使用 ARR 进行故障转移的预期行为应该是什么,如果 IIS 已停止且服务器在线,它是否应该将我切换到下一台服务器?
附加信息: 我尝试关闭每台服务器,在两种情况下我都能打开网站,因此连接或配置没有问题。我使用均匀分布和循环负载平衡算法。只有当我停止 IIS 并让服务器保持在线时才会出现问题。
答案1
为了让 ARR 服务器知道何时不将请求路由到服务器,您需要设置健康测试。
- 在 IIS 管理器中选择您的服务器场
- 选择健康测试特征。
- 您可以在此处填写要运行健康检查的 URL(即包含好词的文本文件,或您尝试进行负载平衡的网站上的索引页)。
配置健康测试后,您应该能够在其中一台服务器上停止 IIS,并看到对 ARR 服务器的请求得到另一台服务器的答复。
对于维护场景,你可以使用监控和管理功能。选择需要排空的服务器,然后选择禁止新连接从操作窗格