根据条件动态添加 CORS allowedOrigins Azure Arm 模板
Dynamically add CORS allowedOrigins based on condition Azure Arm template
我正在尝试根据生产环境或非生产环境动态添加 allowedOrigin。尝试了几种方法,但其中 none 有效。对于 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', '')]"
]
}
我也尝试过发送一个逗号分隔的字符串并使用拆分函数。
理想的情况可能是有一个通配符,但 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'))]"
},
我正在尝试根据生产环境或非生产环境动态添加 allowedOrigin。尝试了几种方法,但其中 none 有效。对于 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', '')]"
]
}
我也尝试过发送一个逗号分隔的字符串并使用拆分函数。 理想的情况可能是有一个通配符,但 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'))]"
},