Azure应用网关(带WAF)多IIS站点健康探针配置咨询
实现Azure应用网关针对多站点VM的精细化健康探测配置
针对你提到的场景——后端IIS虚拟机托管多个站点,需要实现单个站点故障时仅移除该站点路由而非整台服务器,核心思路是为每个站点配置独立的健康探针,并通过后端HTTP设置和路由规则建立关联,具体步骤如下:
1. 为每个站点创建专属健康探针
你之前用单一探针绑定域名的方式无法区分同VM上的不同站点,所以需要为每个站点(比如site1.contoso.com、site2.contoso.com)单独创建健康探针:
- 主机名(HostName):设置为对应站点的域名(如
site1.contoso.com),确保IIS能根据主机头将探针请求路由到目标站点 - 路径(Path):建议指定一个专门的健康检查路径,比如
/healthcheck.html(需要在每个IIS站点下部署这个静态页面,返回200状态码),避免依赖业务页面导致误判 - 基础参数:根据你的业务调整探测间隔(比如30秒)、超时时间(10秒)、失败阈值(3次)——当探针连续失败达到阈值时,应用网关会将该VM从对应站点的路由中移除
2. 为每个站点创建独立的后端HTTP设置
后端HTTP设置是连接探针和后端池的关键,每个站点对应一个后端HTTP设置:
- 绑定对应的健康探针(比如
site1-probe绑定到site1-http-setting) - 主机名设置:选择"从后端目标获取"或直接指定站点域名,确保后端请求的主机头和站点配置匹配,让IIS正确路由流量
- 其他配置:根据业务需求启用HTTPS、设置端口等
3. 配置路由规则关联侦听器、后端设置和后端池
每个站点需要单独配置路由规则:
- 侦听器:创建对应站点域名的HTTP/HTTPS侦听器(比如绑定
site1.contoso.com的域名) - 路由规则:将该侦听器关联到对应站点的后端HTTP设置,以及包含两台VM的后端池
- 逻辑:当用户访问
site1.contoso.com时,流量会通过绑定site1-probe的后端设置路由到后端池中的健康VM(仅针对site1健康的VM)
关键验证逻辑
当某台VM上的site1出现故障时:
- 针对
site1的探针会检测到失败,应用网关会将该VM从site1的路由池中移除 - 但该VM上的
site2如果探针检测正常,依然会被包含在site2的路由池中,不会影响site2.contoso.com的流量
额外注意事项
- 确保IIS站点已正确配置主机头绑定,否则探针请求无法被正确路由到目标站点
- 健康检查页面要保持轻量化,避免包含动态内容或依赖数据库等外部服务,防止不必要的健康状态误判
- 如果使用HTTPS,需要在探针和后端HTTP设置中配置对应的SSL证书,确保探针能正常建立HTTPS连接
内容的提问来源于stack exchange,提问作者CoreyZ
相关产品推荐
相关产品推荐

