使用Azure功能启用CORS通配符子域

问题描述 投票:3回答:1

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

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

建议是值得欢迎和赞赏的。

非常感谢提前。

azure cors azure-functions
1个回答
1
投票

正如this StackOverflow answer所述,CORS在主机名方面是全有或全无。您必须提供显式域或子域。它是整体规范的一部分,而不是特定于Microsoft的。

由于您无权访问Azure Functions中的基础服务器,因此无法将建议的基于RegEx的标头用于CORS。

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

const addCallback = function (context, req) {
  if (req.query && req.query.callback) {
    context.res.body = callback + '(' + JSON.stringify(context.res.body) + ')'
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.