Azure WAF根URL重定向至应用内地址失败问题排查
针对根URL返回404导致重定向规则未生效的问题,可按以下步骤排查解决:
调整重定向规则优先级
将重定向规则的优先级设为最高(数值最小,比如1),确保它在所有路由规则、WAF规则之前执行。应用网关的规则按优先级数值从小到大顺序处理,优先级高的规则会先拦截请求并执行重定向,避免请求被转发到后端返回404。精确匹配根路径
修改重定向规则的匹配条件:选择“路径”匹配类型,运算符设为“等于”,匹配值填/。避免使用前缀匹配,防止规则误触发到其他子路径,确保只有访问根URL时才触发重定向。修正健康探测路径
若当前健康探测的路径是根URL/,会因返回404导致后端池被标记为不健康,网关可能直接返回错误而非执行重定向。将健康探测的路径改为/test,确保探测返回200状态码,让后端池维持健康状态,保证网关能正常处理请求并触发重定向规则。验证重定向动作配置
确认重定向类型选择“临时重定向(302)”或“永久重定向(301)”,目标URL可填写相对路径/test(网关会自动补全域名),同时根据需求关闭“包含查询字符串”选项(根路径重定向通常无需传递查询参数)。排查规则冲突
检查是否存在其他优先级更高的路由规则或WAF规则,比如某些规则直接将根路径请求转发到后端,或WAF规则拦截了根路径请求。可暂时禁用非必要规则,测试重定向是否生效,逐步定位冲突规则并调整优先级。测试重定向触发逻辑
使用curl -v http://example.com命令测试,查看响应头中是否包含Location: http://example.com/test字段。若存在该字段但浏览器仍返回404,需清除浏览器缓存后重试;若不存在,则说明重定向规则未触发,需重新检查规则配置。
内容的提问来源于stack exchange,提问作者John Baker

