azure - 使用 Azure Functions 启用 CORS 通配符子域

标签 azure cors azure-functions

Azure 函数允许我们启用 cors 并提供一组允许访问的特定 URL。我们还可以输入通配符(*),它允许所有域都可以访问该功能。

有没有办法在 cors 设置中添加一个条目,以允许特定域的所有子域访问该功能,而不是显式设置每个子域?我们尝试添加一个条目,例如 http://*.example.com,以查看是否允许子域访问,但它似乎不起作用。我们想知道是否还有其他方法可以实现这一目标。

欢迎并赞赏建议。

提前致谢。

最佳答案

this StackOverflow answer 中所述,对于主机名而言,CORS 要么全有,要么全无。您必须提供显式域或子域。它是整体规范的一部分,而不是 Microsoft 特有的。

由于您无权访问 Azure Functions 中的底层服务器,因此您无法对 CORS 使用建议的基于 RegEx 的 header 。

因此,如果您的函数输出是 JSON,我建议您考虑使用 JSONP。它可以像检查回调查询字符串参数并将输出包装在回调函数中一样简单。 Node.js 中的示例:

const addCallback = function (context, req) {
  if (req.query && req.query.callback) {
    context.res.body = callback + '(' + JSON.stringify(context.res.body) + ')'
  }
}

关于azure - 使用 Azure Functions 启用 CORS 通配符子域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47977435/

相关文章:

powershell - 验证多个 Azure Powershell 函数

python - Azure Functions (python) adal 身份验证超时

Azure Functions-新-AzContainerGroup : Object reference not set to an instance of an object

Azure DSC 扩展在 Windows VM 上错误地装载数据磁盘

azure - 可用性测试摘要小部件显示 1 个 Application Insights 中每个单独测试的结果

azure - 保护 Azure 云服务配置中的敏感信息

F# WebApi Cors 不起作用

azure - Windows Azure 服务器上安装了哪个版本的 .net?

javascript - 跨域资源共享(CORS)——我在这里遗漏了什么吗?

c# - 预检失败时如何通过属性而不是通过 Application_BeginRequest 启用 CORS