我们已在Azure前端Web应用程序与Azure APIM之间实现了相互客户端证书身份验证。 我们已经创建了自签名客户端证书,该证书映射到从中调用APIM Proxy API的自定义域。 此外,我们在APIM上载了相同的证书,并添加了指纹验证策略。 通过添加TLS / SSL绑定,证书已通过“ TLS / SSL设置”选项卡上传到Azure前端Web应用程序,并且ClientCertificateEnabled标记为true。
我们期望该证书将从头文件X-ARR-ClientCert
从Azure前端Web应用程序转发到APIM,其值作为证书的指纹。
为了验证这一点,我们在请求到APIM时捕获了报头,并将其转发给输出,以便我们可以通过以下行来确认:
<set-variable name="X-ARR-ClientCert" value="@(context.Request.Headers.GetValueOrDefault("X-ARR-ClientCert", "No Certificate Received"))" />
但是,一直以来,我们都获得了“未收到证书”的价值。
这种方法是否符合我们的预期? 要么 我们如何验证这一点?
注意:当前APIM指向开发人员层。我们是否必须将其扩展到基本水平?