我正在使用ARM模板部署到Azure Web Apps,该站点部署到多个环境,ARM模板为每个环境接受不同的参数。
其中一个要求是在某些环境中启用站点上的IP块,而不启用其他环境中的IP块。这可以通过web.config完成,但这并不理想,因为我通过ARM管理所有应用程序设置并执行压缩网站的web部署。为每个环境添加转换将是一件痛苦的事情,需要进行大量的返工。
我想在我的模板文件中指定类似的内容:
{
"type": "config",
"apiVersion": "2015-08-01",
"name": "web",
"properties": {
"ipSecurityRestrictions": {
"allowUnlisted": false,
"ipAddresses": [ "127.0.0.1", "127.0.0.2" ]
}
},
"dependsOn": [
"[concat('Microsoft.Web/sites/', parameters('nameofwebapp'))]"
]
}
使用resources.azure.com浏览资源提供程序“Microsoft / Web”时,似乎可能是这样,因为“config / web”上存在“ipSecurityRestrictions”属性。
ARM Explorer代码显示here并提示其用法。我也可以在.netSDK中找到它的过去使用情况(用完链接)。
当我尝试使用resources.azure.com进行设置时,我得不到任何反馈,它返回为null。
任何人都可以提供有关如何使用此属性的详细信息吗?
答案 0 :(得分:10)
该设置适用于允许的IP地址而非排除 - 您可以通过https://resources.azure.com/
进行设置用法示例是:
"ipSecurityRestrictions": [
{
"ipAddress": "12.23.254.3",
"subnetMask": "255.255.0.0"
}
]
答案 1 :(得分:3)
我必须添加siteConfig
并将ipSecurityRestrictions
放在那里才能使其正常工作:
{
"apiVersion": "2015-06-01",
"name": "[parameters('siteName')]",
"type": "Microsoft.Web/Sites",
...
"properties":{
"siteConfig":{
"ipSecurityRestrictions" : {
"ipAddress": "123.123.123.123"
}
}
},
"resources" : {
...
}
}