如何在ARM模板中为Azure App Service配置多证书指纹到WEBSITES_LOAD_CERTIFICATES
解决ARM模板中App Service多证书指纹加载问题
我来帮你搞定这个多证书指纹配置的问题,其实核心是要正确使用ARM模板的字符串拼接函数,同时避免JSON语法错误。
正确的配置方式
你需要用ARM的concat()函数把两个证书的指纹用逗号拼接起来,这样就能让WEBSITES_LOAD_CERTIFICATES同时加载多个证书了。完整的配置片段如下:
"properties": { "serverFarmId": "[resourceId('Microsoft.Web/serverFarms',variables('appServicePlanName'))]", "siteConfig": { "appSettings": [ { "name": "WEBSITE_LOAD_CERTIFICATES", "value": "[concat(reference(resourceId('Microsoft.Web/certificates', variables('certificateName'))).Thumbprint, ',', reference(resourceId('Microsoft.Web/certificates', variables('certificateName1'))).Thumbprint)]" } ] } }
为什么之前的配置失败?
让我帮你分析下两种错误写法的问题:
- 报错的多指纹配置:你直接在表达式里用逗号拼接两个
reference调用,ARM模板不支持这种语法,必须使用concat()函数来处理字符串拼接操作,否则会触发表达式解析错误。 - 仅加载第二个指纹的配置:你在同一个appSetting对象里写了两个
value属性,JSON对象不允许重复的键,所以后面的value会覆盖前面的,最终只会生效第二个证书的指纹。
这样配置后,你的App Service就能同时加载指定的两个证书了,赶紧试试吧!
内容的提问来源于stack exchange,提问作者Ravi
相关产品推荐
相关产品推荐

