You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure应用网关mTLS服务器变量为空,无法传递客户端证书至APIM

问题原因排查与解决方向

针对你遇到的Azure应用网关无法将客户端证书传递至APIM的问题,以下是几个核心排查点:

  • 网关mTLS验证模式未设为“必需”
    如果网关的HTTPS监听规则里客户端证书验证是“可选”模式,即便客户端提交了证书,网关也不会提取证书内容填充到client_certificate等服务器变量中。必须将验证模式改为“必需”,网关才会强制校验客户端证书并生成对应的服务器变量。

  • 重写规则的变量引用格式错误
    确认重写规则中使用的是{client_certificate}而非带var_前缀的变体。Azure应用网关的mTLS相关服务器变量直接用{变量名}格式,不需要额外前缀。同时检查重写动作是否为“设置请求头”,目标头名称(如X-ARR-ClientCert)有没有拼写错误。

  • 应用网关SKU版本不支持
    v1 SKU的应用网关不支持将mTLS客户端证书通过服务器变量传递的功能,必须使用v2 SKU。如果你的网关还是v1版本,升级到v2后再配置重写规则即可解决。

  • APIM入站策略意外移除了目标头
    检查APIM的入站策略,确认没有通过<remove-header>或<set-header>策略删除X-ARR-ClientCert头。默认情况下APIM不会过滤这个头,但自定义策略可能导致头被意外移除。

  • 重写规则的执行阶段不正确
    确保重写规则是在“请求路由到后端之前”的阶段执行,只有在这个阶段,网关才能获取到客户端证书变量并注入到请求头中。如果规则设置在其他阶段,可能无法正确获取变量值。

内容的提问来源于stack exchange,提问作者CM231

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 09:52:38