azure - 根据条件动态添加 CORS allowedOrigins Azure Arm 模板

标签 azure azure-rm-template

我正在尝试根据产品或非产品环境动态添加 allowedOrigin 。尝试了几种方法,但都不起作用。对于 Prod,我们希望只允许 3 个域,但对于较低的环境,我们希望允许任何来源。有人可以帮忙吗?

"variables": { 
   "corsAllowedUrls": [
        "https://www.example.com",
        "https://app2.example.com",
        "https://m2.example.com"
    ]
 }
 .......
 "type": "Microsoft.Web/sites",
 "siteConfig": {
      "cors": {
        "allowedOrigins": [
          "[if(equals(parameters('azureEnvironment'),'prod'), variables('corsAllowedUrls'), '*')]"
        ]
      },

第二个选项,这适用于产品,但对于其他环境,它添加三行,随机有效和随机无效。

"siteConfig": {
      "cors": {
        "allowedOrigins": [
          "[if(equals(parameters('azureEnvironment'),'prod'), 'https://ww2.example.com', '*')]",
          "[if(equals(parameters('azureEnvironment'),'prod'), 'https://app2.example.com', '')]",
          "[if(equals(parameters('azureEnvironment'),'prod'), 'https://m2.example.com', '')]"
        ]
      }

我还尝试过发送逗号分隔的字符串并使用 split 函数。 理想的情况可能是拥有通配符,但 Azure 似乎不支持这些通配符。

感谢任何帮助。

最佳答案

请尝试这个:

"variables": { 
  "corsAllowedProdUrls": [
    "https://www.example.com",
    "https://app2.example.com",
    "https://m2.example.com"
  ],
  "corsAllowedDevUrls": [
    "*"
  ]
}
.......
"type": "Microsoft.Web/sites",
"siteConfig": {
  "cors": {
    "allowedOrigins": "[if(equals(parameters('azureEnvironment'),'prod'), variables('corsAllowedProdUrls'), variables('corsAllowedDevUrls'))]"
  },

关于azure - 根据条件动态添加 CORS allowedOrigins Azure Arm 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60114201/

相关文章:

tfs - 无法将多行字符串设置为环境变量

json - ARM Azure Web 应用程序的 createUiDefinition.json

SQL Server 的 Azure ARM 模板不打印连接字符串

azure - 是否可以在我的 ARM 模板中检索 oms 工作区 ID

Azure 派生列 - 根据另一列的值从一列的值创建另一列

azure - 构建 Azure SDK 2.3 项目时解决警告吗?

python - pyodbc UPDATE 抛出异常

azure - 使用 Azure DevOps 服务 REST API 的仪表板

deployment - 为什么 Azure 部署需要这么长时间?

azure - 使用arm模板在Azure数据工厂中启用诊断