通过Azure应用网关路由ADFS流量的健康探测异常问题
ADFS代理Azure应用网关健康探测404问题
背景
本地部署两台ADFS代理承载Salesforce SSO服务,访问路径为login.domain.com/adfs/ls/idpinitiatedsignon,当前通过HAProxy 2.6 Enterprise实现负载均衡,运行稳定。计划将大部分本地系统迁移至Azure原生方案,已配置Azure应用网关处理RDS和NGINX流量,但ADFS流量路由时出现异常:HTTPS自定义健康探测返回HTTP 404响应,然而使用cURL或Postman测试该路径却能正常返回200。
配置详情
后端池配置
- 名称:adfs-prod
- 后端目标:x.x.x.x
后端设置
- 后端设置名称:login.domain.com
- 后端协议:HTTPS
- 后端端口:443
- 受信任根证书:无
- Cookie亲和性:false
- 连接耗尽:false
- 请求超时:20秒
- 覆盖后端路径:空
监听器
- 监听器名称:login.domain.com
- 前端IP:公网
- 协议:HTTPS
- 端口:443
- 证书:无
- 续订或编辑所选证书:false
- 启用SSL配置文件:false
- 监听器类型:多站点
- 主机类型:单主机
- 主机名:login.domain.com
健康探测
- 名称:login.domain.com
- 从后端设置获取主机名:是
- 从后端设置获取端口:是
- 路径:
/adfs/ls/idpinitiatedsignon - 使用探测匹配条件:是
- HTTP响应状态匹配:200-399
测试结果与预期
预期结果
- 测试根URL:
login.domain.com=> GET HTTP/1.1 => HTTP 404 - 测试ADFS路径:
login.domain.com/adfs/ls/idpinitiatedsignon=> GET HTTP/1.1 => HTTP 200
实际异常
健康探测未正确识别指定路径,返回404;但Postman/cURL测试该路径结果符合预期。另外,其他域名的NGINX心跳路径fakename.domain.com/api/v1/heartbeat探测运行完全正常,可返回200。
已尝试的排查操作
- 多次重新配置应用网关相关组件
- 验证防火墙IP权限
- 在探测中直接定义主机名
请求建议
恳请提供排查思路或解决方案。
内容的提问来源于stack exchange,提问作者Nomad
相关产品推荐
相关产品推荐

