Как предотвратить использование azure cdn для динамического содержимого? Я только хочу, чтобы он обслуживал статические файлы: изображения, скрипты и css, но когда я выбираю свое веб-приложение как источник, он также служит корневым url (/), который является динамической страницей. Могу ли я создавать ограничения на основе расширения файла?Как предотвратить azure cdn от обслуживания динамического содержимого?
ответ
Не в это время. Любой запрос к пограничному узлу CDN будет ударять по источнику для актива и кэшировать его, будь то динамический или статический контент. Таким образом, решение заключается в том, чтобы ваше приложение не связывалось с каким-либо динамическим контентом через CDN.
Если ваш статический контент находится в определенных папках (images /, css/и т. Д.), Вы можете запретить CDN получать контент за пределами этих папок.
Для того, чтобы поисковые системы не индексировали наш сайт через домен CDN, отключили просмотр сайта в домене CDN (за исключением определенного набора папок, обслуживающих ресурсы), добавив следующее правило urlRewrite в web.config :
<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>
Использование веб-сервера в качестве источника CDN является «ленивым» способом установки CDN. После того, как вы установите его в свой веб-сайт, вместо использования:
/mypic.jpg
заменить все относительные URL с
xxx.azureedge.net/mypic.jpg
Вам не нужно заботиться о CDN обслуживает динамический контент или нет , вам просто нужно выбрать нужный контент. CDN просто слепо обслуживает контент из указанного вами источника.