【问题标题】:Azure CDN and Azure API Management integrationAzure CDN 和 Azure API 管理集成
【发布时间】:2022-03-24 23:17:33
【问题描述】:

我发现here 的架构如下:

我了解单页 Web 应用程序向 CDN 请求静态资源,向 APIM 请求 API 资源。浏览器是否在联系两个不同的 FQDN(例如:www.site.it 和 www.api.site.it)?

为了使用单个 FQDN 访问,我可以将 CDN 移动到 APIM 前面吗?可以通过 CDN 规则实现吗?

我能帮帮我吗?

【问题讨论】:

    标签: azure azure-api-management azure-cdn


    【解决方案1】:

    这应该可以通过 Azure CDN 的 Verizon 高级层中提供的路由规则实现。

    对于具有/api 路径的请求,您需要配置的规则是URL Rewrite,对于可能返回敏感/用户特定数据的任何端点,您需要配置Bypass Cache 规则。

    另外,请注意,为了优化返回动态内容的 API 的性能,您还希望将 APIM 部署到多个区域(以及它背后的 API,在这种情况下为函数)。

    Azure Front Door 是您可以考虑的另一种选择,它有许多其他功能可供您使用。

    【讨论】:

    • 那么,您认为这是一个好习惯吗?还有其他解决方案吗?
    • 嗯,CDN 或多或少有点像反向代理,所以我想这样使用它并没有错。从好的方面来说,您甚至可以缓存所有用户通用的通用 API 请求。当您没有靠近每个区域的 APIM 实例时,这基本上是一个加分项。 Azure Front Door 是另一个选项,您可以考虑使用 SSL 终止等许多其他功能。
    • 请确保不要缓存用户特定数据或任何动态数据
    • 我的解决方案是对第一个模式的解释(由 Microsoft 提供)。所以,我想到了使用 CDN 作为入口点。 @PramodValavala-MSFT 的答案非常有用
    • 嘿@MichelFoucault 你成功实现了吗?我已经用 MSFT CDN 尝试了您建议的设置: 1.client 将函数应用程序的 http 请求发送到 CDN 端点; 2.CDN EP将此重定向到APIM函数应用; 3.function app 以返回 FileContentResult 响应发送文件。此重定向有效,但 CDN 不缓存该函数的文件。 CDN 设置:缓存规则 = 缓存每个唯一的 URL。我根据 MSFT CDN 文档尝试了标准规则引擎重定向 307 和 301、301 缓存。您是否输入 APIM 地址作为 CDN EP 源主机名?谢谢
    【解决方案2】:

    这可以通过为具有自定义类型的 API 创建第二个来源和来源组(为您已有的来源创建第一个)以指向 API 的 URL 来实现。然后将带有“Origin Group Override”操作的 URL 重写规则添加到规则引擎并选择您的 API 源(您可能还希望启用“缓存过期”操作以绕过缓存)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-24
      • 1970-01-01
      • 2020-05-02
      • 1970-01-01
      • 2021-01-18
      • 2014-11-25
      • 1970-01-01
      相关资源
      最近更新 更多