【问题标题】:Enable CORS Wildcard subdomains with Azure Functions使用 Azure Functions 启用 CORS 通配符子域
【发布时间】:2023-03-06 00:34:01
【问题描述】:

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

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

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

非常感谢。

【问题讨论】:

    标签: azure cors azure-functions


    【解决方案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) + ')'
      }
    }

    【讨论】:

    • 谢谢!将研究 JSONP 实现。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-16
    • 2016-06-12
    • 2016-07-18
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 2019-04-24
    相关资源
    最近更新 更多