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

Azure API管理:传入公钥证书被忽略,请求遭403拒绝问题问询

关于Azure API管理消费层客户端证书校验的问题

我在Azure API管理的入站策略中实现了逻辑:将收到的证书信息传递给外部服务进行校验,只有校验通过后,请求才会转发至后端URL。当前API管理采用**消费层(Consumption tier)**部署,且已正确将「Request client certificate」设置为「Yes」。

遇到的核心问题:该校验逻辑仅在传入包含私钥的证书(如.pfx格式)时才会执行;当传入公钥证书时,API管理直接返回标准的403 Forbidden响应,甚至不会触发入站策略。

为验证这一点,我在策略最开头添加了以下测试代码:

<choose>
    <when condition="@(context.Request.Certificate == null || context.Request.Certificate.Issuer != "My expected certificate issuer")" >
        <return-response>
            <set-status code="403" reason="Invalid client certificate" />
        </return-response>
    </when>
</choose>

使用公钥证书发起请求时,并未收到自定义的「Invalid client certificate」提示,得到的是API管理默认的「Forbidden」响应。

由于API管理的所有配置环节均仅支持带私钥的证书(例如证书页无法上传公钥证书,从密钥库选择的证书也包含私钥),我需要确认两个问题:

  • 是否存在强制要求传入证书必须包含私钥的规则?
  • 若不存在该强制要求,我的配置可能缺失了什么?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 08:04:42