【问题标题】:How to prevent azure cdn from serving dynamic content?如何防止 azure cdn 提供动态内容?
【发布时间】:2015-11-16 20:29:44
【问题描述】:

如何防止 azure cdn 提供动态内容?我只希望它提供静态文件:图像、脚本和 css,但是当我选择我的 web 应用程序作为源时,它还提供根 url (/),这是一个动态页面。我可以根据文件扩展名创建限制吗?

【问题讨论】:

    标签: azure cdn azure-cdn


    【解决方案1】:

    暂时没有。对 CDN 边缘节点的任何请求都将访问资产的来源并将其缓存,无论是动态内容还是静态内容。因此,解决方案是确保您的应用程序不会通过 CDN 链接到任何动态内容。

    【讨论】:

      【解决方案2】:

      如果您的静态内容位于特定文件夹(images/、css/ 等)中,您可以阻止 CDN 访问这些文件夹之外的内容。

      为了防止搜索引擎通过 CDN 域索引我们的网站,我们 已通过将以下 urlRewrite 规则添加到 web.config 来禁用 CDN 域上的站点浏览(提供资源的特定文件夹集除外):

      <rule name="Deny site browsing on CDN domain" stopProcessing="true">
        <match url="^(storage/|ui/)(.*)" negate="true" />
        <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
          <add input="{HTTP_X_HOST}" pattern="\.azureedge.net$" />
        </conditions>
        <action type="CustomResponse" statusCode="404" statusReason="Not found" statusDescription="Not found" />
      </rule>
      

      【讨论】:

        【解决方案3】:

        使用 Web 服务器作为 CDN 源是设置 CDN 的一种“懒惰”方式。设置后,在您的网站中而不是使用:

        /mypic.jpg
        

        替换所有的相对 url
        xxx.azureedge.net/mypic.jpg
        

        您不需要关心 CDN 是否提供动态内容,您只需要选择您想要的内容。 CDN 只是盲目地从您指定的来源提供内容。

        【讨论】:

          猜你喜欢
          • 2012-07-23
          • 1970-01-01
          • 1970-01-01
          • 2011-07-12
          • 1970-01-01
          • 2018-02-12
          • 2019-09-24
          • 1970-01-01
          • 2017-10-25
          相关资源
          最近更新 更多