0

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

4

3 回答 3

1

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

于 2015-12-02T18:01:55.223 回答
0

如果您的静态内容位于特定文件夹(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>
于 2015-12-12T10:48:42.873 回答
0

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

/mypic.jpg

将所有相对网址替换为

xxx.azureedge.net/mypic.jpg

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

于 2015-12-17T21:49:11.127 回答