Asp.net

來自 ARM(Azure 資源管理器)的 Azure WebApp 的 IP 限制

  • May 10, 2019

我正在使用 ARM 模板部署到 Azure Web 應用程序,該站點部署到多個環境,ARM 模板為每個環境接受不同的參數。

其中一項要求是在某些環境中啟用站點上的 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視圖

ARM Explorer 程式碼在此處顯示它並提示它的用法。我還可以在此處的 .netSDK 中找到它的過去用法(用完允許的連結)。

當我嘗試使用 resources.azure.com 進行設置時,我沒有收到任何回饋,並且它返回為空。

任何人都可以提供有關如何使用此屬性的詳細資訊嗎?

該設置適用於允許的 IP 地址而不是排除項 - 您可以通過https://resources.azure.com/進行設置

用法範例是:

"ipSecurityRestrictions": [
 {
   "ipAddress": "12.23.254.3",
   "subnetMask": "255.255.0.0"
 }
]

我必須添加siteConfig並放置ipSecurityRestrictions它以使其工作:

{
   "apiVersion": "2015-06-01",
   "name": "[parameters('siteName')]",
   "type": "Microsoft.Web/Sites",
   ...
   "properties":{
       "siteConfig":{
           "ipSecurityRestrictions" : {
                "ipAddress": "123.123.123.123"
           }
       }
   },
   "resources" : {
       ...
   }
}

引用自:https://stackoverflow.com/questions/37169309