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