为虚拟应用程序指定ClientCertEnabled

时间:2017-03-28 08:04:29

标签: azure ssl azure-web-app-service

对于Azure Web App,唯一可用于客户端证书的设置是" ClientCertEnabled "。问题是它需要整个站点的证书。我无法找到另一种方式。我考虑在网站下创建虚拟应用程序,是否可以为Azure中的虚拟应用程序启用此设置? ARM模板中的任何配置?

1 个答案:

答案 0 :(得分:0)

根据您的说明,当您的Azure Web App请求超过 TLS / SSL 时,我遵循此官方tutorial关于启用客户端证书身份验证。

注意:

  

如果您通过HTTP而非HTTPS访问您的网站,则不会收到任何客户端证书。因此,如果您的应用程序需要客户端证书,则不应允许通过HTTP向您的应用程序发出请求。

     

发送到应用程序的客户端证书不会通过Azure Web Apps平台进行任何验证 n。 验证此证书是网络应用的责任

  

问题是它需要整个站点的证书。我无法找到另一种方式。我考虑在网站下创建虚拟应用程序,是否可以为Azure中的虚拟应用程序启用此设置?

我按照此官方blog将虚拟目录部署到单个Azure网站以测试此方案,并发现它根本不起作用。

我也按照此issue配置我的配置文件中的SSL设置,并按照此官方tutorial通过IIS管理器远程连接到我的Azure网站以更改某些设置,以实现此目的使用ClientCertEnabled。但是上述所有试验都无法发挥作用,我认为您需要创建一个新的Web应用程序,用于处理基于客户端证书身份验证的请求。

此外,这里有一些有用的教程,你可以参考它们:

Web API with client certificate

Code sample AzureWebApiClientCertAuthSample

Azure App Service and Client Certificate Authentication