这可能是一个已知问题 - 但我在 IIS6/Windows 2003 服务器上使用单个 IP 和多个唯一主机标头为 50 多个 IIS 网站提供服务。
问题是监控如果某个站点瘫痪或停止,HTTP 监视器仍会报告该站点处于运行状态 —— 我假设这是因为请求刚好落到下一个“在线”站点或者可能是第一个可以满足该请求的站点。 因此站点 A 将会看到站点 B 的内容。
这不仅会影响监控,还会让一个客户看到另一个客户的登录屏幕!除了给每个站点一个唯一的 IP 地址之外,还有什么方法可以阻止这种情况发生吗?我读过这个相关问题,但仍然不知道如何解决。我希望站点 A 在停止时确实处于关闭状态,而不仅仅是返回到另一个站点。
更新:站点也使用 SSL,但 UI 中不显示主机头。
答案1
停止网站...您希望发生什么?
失败行为可能是这样的:
如果存在特定匹配的站点绑定,则显示该站点
如果不是,如果有一个不太具体的网站绑定仍然匹配,则显示该网站
如果不是,则不显示任何内容
我不知道哪个 HTTP 监视器或它如何工作,所以我关注您描述的涉及“错误登录页面”的浏览器行为。
我预计:
如果全部您的网站有主机标头,我希望这个问题会消失,它的行为大致符合您的预期(请求禁用的网站时出现 404 或 5XX 响应)。
但如果任何站点绑定包括一个非主机头 IP 地址,但没有主机头,这将是该 IP 地址的“默认”站点,请求将会转到该站点。
在 IIS 8+ 中,服务器名称指示允许特定的 SSL 绑定,这变得更容易,但它仍然是同一原则的变体 - 如果没有名称特别匹配但 IP 正确,您将获得 IP 绑定。