Azure前门是否支持TLS客户端身份验证

时间:2019-04-26 15:34:41

标签: azure

我正在尝试将利用TLS客户端身份验证的现有应用程序放在前门后面。虽然存在其他X-ARR标头,但X-ARR-ClientCert没有。是否有设置可以控制此行为,或者Front Door这次不支持客户端身份验证?

3 个答案:

答案 0 :(得分:0)

Front Door Service不会认证此处未记录的任何HTTP标头。前门服务从传入请求中接受大多数标头,而无需对其进行修改。详细了解Front Door supported HTTP headers

  

Azure前门服务支持X-Forwarded-For,   X-Forwarded-Host和X-Forwarded-Proto标头。对于X-Forwarded-For   如果标题已经存在,则前门将附加客户端   套接字IP。否则,它添加带有客户端套接字IP的标头为   价值。对于X-Forwarded-Host和X-Forwarded-Proto,该值为   覆盖。

我想建议先验证TLS客户端身份验证是否在没有Azure前门的情况下工作,然后再在应用程序的前面添加前门服务。

要将应用设置为需要客户端证书,需要在Azure CLI或云Shell中将应用的clientCertEnabled设置为true

az webapp update --set clientCertEnabled=true --name <app_name> --resource-group <group_name>

您还可以按照以下路径启用客户端身份验证:应用程序服务 --- 设置 --- 配置 --- 传入客户端证书 --- 需要传入证书 --- Azure门户中的证书排除路径

注意:App Service对此客户端证书不执行任何操作,只能将其转发到您的应用程序。您的应用代码负责验证客户端证书。

对于ASP.NET,可通过HttpRequest.ClientCertificate属性获得客户端证书。

对于其他应用程序堆栈(Node.js,PHP等),客户端证书可通过X-ARR-ClientCert请求标头中的base64编码值在您的应用程序中获得。

参考:Configure TLS mutual authentication for Azure App Service

答案 1 :(得分:0)

通过其他渠道,我们得到官方消息说,Front Door当前不支持TLS客户端身份验证。将来这种情况可能会改变,但从2019年4月30日起,必须使用其他途径。

答案 2 :(得分:0)

截至2019年8月29日,Azure前门当前不支持此功能。请参阅以下反馈:https://feedback.azure.com/forums/217313-networking/suggestions/37546810-frontdooor-tls-mutual-authentication-x-arr-cli