我知道已经发布了很多有关 APIM 客户端证书验证的问题/答案,我检查了所有推荐的配置/设置,但它对我不起作用。
问题 我有一个带有验证客户端证书策略的 API,当我使用默认 APIM 域调用 API 端点时它可以工作,但如果我使用自定义域调用同一端点则不起作用,我收到错误“客户端证书丢失”。通过查看跟踪,APIM 似乎没有收到证书。
{
"source": "client-certificate-handler",
"timestamp": "2023-11-17T22:52:18.1716282Z",
"elapsed": "00:00:00.0346916",
"data": "Requesting client certificate because next handler requires access to it."
},
{
"source": "client-certificate-handler",
"timestamp": "2023-11-17T22:52:18.1906512Z",
"elapsed": "00:00:00.0562917",
"data": "No client certificate received."
}
我已经尝试过的
发布答案,以便对其他人有帮助。
Azure APIM 没有问题,它已按预期配置。 问题出在 F5 负载均衡器上。任何发送到 APIM 的请求都会通过 F5 进行路由,并且 F5 默认情况下会丢弃客户端证书。
因此,如果您看到类似的问题,请确保在 APIM 之前的所有网络跃点上,客户端证书不会被删除。