Azure Web应用启用HttpsOnly时CLI命令报错及参数支持疑问
解决Azure CLI旧版本设置Web应用HttpsOnly的问题
我来帮你排查这个问题,根源其实出在你用的Azure CLI版本太老啦——2.0.23是好几年前的早期版本,命令语法和参数结构和现在的新版差异很大,这才导致你遇到了参数不识别的报错。
先说说az webapp update的旧版正确写法
你之前试的--set httpsOnly=true是新版CLI的语法,但在2.0.23里,设置HttpsOnly得用专门的--https-only参数,正确命令应该是这样:
az webapp update --resource-group <YourResourceGroupName> --name <YourWebAppName> --https-only true
再说说你实际用的az deployment命令
如果你是想用部署命令来配置HttpsOnly,那得注意:早期版本的az deployment并不支持直接用--set来覆盖模板参数,你得把httpsOnly的配置直接写到你的ARM部署模板里才行。
比如在模板的Web应用资源节点里加上这段配置:
{ "type": "Microsoft.Web/sites", "apiVersion": "2020-06-01", "name": "[parameters('webAppName')]", "location": "[parameters('location')]", "properties": { "httpsOnly": true, // 其他你的Web应用配置项... } }
然后执行部署命令的时候,直接指定模板文件就行:
az deployment group create --resource-group <YourResourceGroupName> --template-file <你的模板文件路径> --parameters webAppName=<YourWebAppName>
要是你是想在部署完成后修改这个配置,那用上面提到的旧版az webapp update命令会更稳妥,别在部署命令里硬改参数。
最彻底的解决办法
其实最根本的还是升级你的Azure CLI版本,2.0.23不仅缺很多新功能,官方也早就不维护了,还可能有安全风险。你用Docker的话,直接换成最新的mcr.microsoft.com/azure-cli镜像就行,升级后就能用你一开始想的--set语法,后续也不会再遇到这种版本兼容问题。
内容的提问来源于stack exchange,提问作者François
相关产品推荐
相关产品推荐

