更改 RS 2008R2 配置会导致 IIS 站点停止通过负载平衡器接收流量(并且在撤消后仍然无法正常工作)

更改 RS 2008R2 配置会导致 IIS 站点停止通过负载平衡器接收流量(并且在撤消后仍然无法正常工作)

背景

我们正在测试一对 Windows 2008 R2(IIS 7.5)Web 服务器以及一个硬件负载平衡器(外部设备),该平衡器将进入两台服务器之间的虚拟 IP 的端口 80 流量拆分。

两台服务器上都设置了一个测试网站(每台服务器都有一份副本)。一个地址用于通过 VIP 访问网站,另一个地址用于在服务器 #1 上直接访问网站,还有一个地址用于在服务器 #2 上直接访问网站。

在 IIS 中,在两台服务器上,绑定设置如下(我使用共享配置,这就是为什么两台服务器都具有所需的所有绑定):

Type   Host Name                       Port   IP Address
HTTP   address-resolving-to-server-1   80     Public-IP-of-server-1
HTTP   address-resolving-to-server-2   80     Public-IP-of-server-2
HTTP   address-resolving-to-VIP        80     Public-IP-of-server-1 *
  • 这可能不是允许通过 VIP 的流量在服务器之间分配的正确绑定,但至少它允许网站出现在 VIP 上。

到今天为止,一切运行正常——可以通过所有 3 个地址访问测试网站。

两台服务器上都安装了 Reporting Services 2008 R2。自运行安装向导以来,配置没有改变。报表服务器和报表管理器的绑定如下所示:

IP 地址:全部分配(推荐) TCP 端口:80 SSL 证书:无

报告服务也运行良好。

问题 !!

服务器 #1 上的 Reporting Services 配置发生了更改,从那时起,测试网站就无法通过负载平衡器访问。Web 客户端挂起约 30 秒,然后返回 502 - 连接失败错误。

直接在服务器 #1 上访问测试网站和直接在服务器 #2 上访问测试网站仍然有效。

这是在 Reporting Services 中所做的配置更改:

在报告服务器(Web 服务 URL)部分下,我们单击“高级”并编辑现有的 HTTP 身份记录,并将其从监听“所有分配的”IP 地址更改为特定的主机头名称(服务器的 NETBIOS 名称)。

进行此更改后,测试网站将无法再通过负载均衡器访问,但仍可在服务器 #1 和服务器 #2 上直接访问。更改后,Reporting Services 继续正常工作。

我们将 Reporting Services 的配置恢复为原始设置,但问题仍然存在。

我们尝试重新启动所有与 IIS 相关的服务,甚至重新启动服务器,但这没有任何作用。

我们在 Windows 系统或应用程序日志中没有看到相关错误。

我认为这个问题一定与所描述的“URL 预留”有关这里但我真的很困惑为什么将 RS 绑定设置回默认设置并没有解决问题。看来 RS 已经永久地破坏了服务器!

答案1

搞清楚了!这不是直接的 Windows、IIS 或 Reporting Services 问题。以下是答案,希望它能帮助其他人:

负载平衡器内置有“健康检查”监视器,可定期检查是否可以通过默认网站访问特定文件。RS 的重新配置一定导致默认网站关闭(我猜是因为 RS 和默认网站都配置为侦听相同的主机头、IP 和端口,并且 RS 被选为“赢家”)。

因此,负载均衡器健康检查开始失败并自动关闭!不再有流量可以通过它。

相关内容