【问题标题】:Microsoft Azure CDN appears to only cache HTMLMicrosoft Azure CDN 似乎只缓存 HTML
【发布时间】:2016-05-19 00:47:02
【问题描述】:

我有一个天蓝色的网络应用程序。我们会说它的网址是http://theapp.azurewebsites.net。我还设置了一个 CDN 来为同一个应用程序提供服务。网址可以是http://theapp.azureedge.net

两者都有效。两者都可以很好地提供内容。但是,如果我通过 Azure 控制台“暂停”Web 应用程序,CDN url http://theapp.azureedge.net 会立即停止提供图像、css 等,并抱怨找不到 http://theapp.azurewebsites.net,但它仍会尝试提供(现在损坏)HTML。也就是说,CDN 似乎只有 HTML 的副本,并试图直接从 Web 应用程序本身提供其他内容。

据我了解

A) CDN 应具有所有页面资产(图像、css 等)的副本

B) CDN 需要一段时间才能注意到 Web 应用程序已暂停并继续提供旧的、暂停前的内容,直到 CDN 节点尝试从 Web 应用程序刷新。

C) 如果 CDN 无法从暂停的应用中提供图像,则它不应该从暂停的应用中提供任何内容,包括 HTML。

有人可以澄清一下吗?

【问题讨论】:

    标签: azure cdn


    【解决方案1】:

    A) CDN 不会主动加载所有资源,您必须这样做: https://azure.microsoft.com/nl-nl/documentation/articles/cdn-preload-endpoint/ 在您的场景中,CDN 将大部分为空,直到您手动浏览了所有页面/资源

    B) CDN 将项目缓存一段固定时间 (TTL),并在该时间的中途检查项目是否在网络服务器上发生了变化。您的资源似乎具有非常低的 TTL(甚至没有缓存),这将导致每次调用网络服务器。 https://azure.microsoft.com/nl-nl/documentation/articles/cdn-manage-expiration-of-cloud-service-content/

    C) CDN 将从其缓存中提供所有内容,它不知道应用程序处于离线状态。

    【讨论】:

    • 注意 TTL 必须至少为 300 秒,Azure CDN 才能考虑缓存从源提供的内容。
    猜你喜欢
    • 2022-08-19
    • 1970-01-01
    • 2016-08-20
    • 2018-12-05
    • 1970-01-01
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    • 2016-11-26
    相关资源
    最近更新 更多