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

Vik*_*s C 5 azure cors azure-functions

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

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

欢迎提出建议并表示赞赏。

非常感谢。

arb*_*oc7 3

正如此 StackOverflow 答案中所述,对于主机名而言,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) + ')'
  }
}
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

2131 次

最近记录:

8 年,10 月 前