Azure Application Gateway验证通过后X-ARR-ClientCert头缺失问题咨询
Azure Application Gateway X-ARR-ClientCert头缺失问题解答
问题1答复:应用网关验证客户端证书后请求头生成规则
当应用网关监听器绑定的SSL Profile启用了客户端证书身份验证功能后,只要客户端证书验证通过(对应访问日志中sslClientVerify字段为SUCCESS,你提供的日志已满足该条件),应用网关默认会向转发到后端的请求中注入X-ARR-ClientCert请求头,头值为客户端证书的Base64编码完整内容。
该功能生效的前提是:
- 没有配置应用网关重写规则主动移除
X-ARR-ClientCert头 - 后端HTTP设置中没有配置自定义请求头覆盖规则过滤该头
问题2答复:服务功能变更及常见故障原因
当前Azure应用网关的客户端证书头注入逻辑没有全局功能变更,你遇到的头缺失问题通常是以下配置变更导致:
- 近期修改过应用网关的重写规则,误添加了删除
X-ARR-ClientCert头的规则项 - 后端HTTP设置的请求头传递配置被修改,开启了非标准头过滤逻辑
- 后端Azure Web应用新增了请求头过滤配置,主动丢弃了
X-ARR-ClientCert头
快速排查建议
- 检查应用网关所有生效的重写规则,确认没有移除该头的配置
- 检查后端Web应用的请求头限制配置,确认没有过滤
X-ARR-ClientCert头的规则 - 可临时在应用网关中添加自定义响应头规则,将
X-ARR-ClientCert的值放到响应头中返回,确认应用网关是否实际生成了该头,定位问题出在网关侧还是后端应用侧
内容的提问来源于stack exchange,提问作者MrVhek
相关产品推荐
相关产品推荐

