Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure前端Web应用程序&;Azure APIM相互客户端证书身份验证不起作用_Azure_Ssl_Azure Api Management_Mutual Authentication_Api Management - Fatal编程技术网

Azure前端Web应用程序&;Azure APIM相互客户端证书身份验证不起作用

Azure前端Web应用程序&;Azure APIM相互客户端证书身份验证不起作用,azure,ssl,azure-api-management,mutual-authentication,api-management,Azure,Ssl,Azure Api Management,Mutual Authentication,Api Management,我们已经在Azure前端web应用程序和Azure APIM之间实现了相互客户端证书身份验证。 我们已经创建了映射到自定义域的自签名客户端证书,从该域调用APIM代理API。 此外,我们在APIM上传了相同的证书,并添加了指纹认证策略。 已通过添加TLS/SSL绑定将证书上载到Azure前端web app的TLS/SSL设置选项卡下,并且ClientCertificateEnabled标记为true 我们希望证书将作为标题X-ARR-ClientCert及其作为证书指纹的值从Azure前端web

我们已经在Azure前端web应用程序和Azure APIM之间实现了相互客户端证书身份验证。 我们已经创建了映射到自定义域的自签名客户端证书,从该域调用APIM代理API。 此外,我们在APIM上传了相同的证书,并添加了指纹认证策略。 已通过添加TLS/SSL绑定将证书上载到Azure前端web app的TLS/SSL设置选项卡下,并且ClientCertificateEnabled标记为true

我们希望证书将作为标题
X-ARR-ClientCert
及其作为证书指纹的值从Azure前端web app转发给APIM。 为了验证这一点,我们在请求到达APIM时捕获报头并将其转发到输出,以便我们可以通过在下面的行中写入来确认:

<set-variable name="X-ARR-ClientCert" value="@(context.Request.Headers.GetValueOrDefault("X-ARR-ClientCert", "No Certificate Received"))" />

但一直以来,我们都在获得“未收到证书”的价值

这种方法是否符合我们的期望? 或 我们如何验证这一点


注意:当前APIM指向开发人员层。我们必须把它扩大到基本的吗

这一定是Azure前端web应用程序的问题,而不是APIM的问题。APIM对大多数头没有特殊的处理,在这种情况下也不能确定。它只是不接收带有证书指纹的标头。这一定意味着web应用程序不会转发它。请您更清楚地描述一下您在APIM中设置了哪些策略,以及在您的场景中流量是如何流动的。@VitaliyKurokhtin:1.我们已经为Azure前端web应用程序创建了自签名证书,并且已经在APIM上传了该证书。2.然后我们打开映射到Azure前端web应用程序的自定义域URL,然后单击按钮调用APIM代理。3.现在,根据文档,Azure前端web应用程序应发送带有标题“X-ARR-ClientCert”的证书指纹,APIM应使用以下应用的策略进行验证:4.除此之外,我们还在APIM的变量中捕获此标题,如上所述。5.我们使用Azure函数进行了检查,但仍然提到Azure frint end web app请求中缺少标题。您在APIM中上载证书的确切位置,有几个地方。当你打电话给APIM时,你真的发送了客户端证书吗?@VitaliyKurokhtin:我们已经上传了APIM上的证书选项。在Azure Web app中可用的TLS/SSL设置->私钥证书选项中上载了相同的证书,并将ClientCertificate启用为true。因此,根据下面的链接,在启用选项as ClientCertificate as true后,Azure web app应将上载证书的指纹作为标题“X-ARR-ClientCert”发送。