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