如何防止azure cdn提供动态内容?

时间:2015-11-16 20:29:44

标签: azure cdn azure-cdn

如何阻止azure cdn提供动态内容?我只希望它提供静态文件:图像,脚本和CSS,但当我选择我的网络应用程序作为原点时,它也提供根网址(/),即动态页面。我可以根据文件扩展名创建限制吗?

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

为了防止搜索引擎通过CDN域索引我们的网站  通过向web.config添加以下urlRewrite规则,已禁用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>

答案 2 :(得分:0)

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

/mypic.jpg

替换所有相对网址
xxx.azureedge.net/mypic.jpg

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