Azure Verizon CDN - 100% кэш CONFIG_NOCACHE - PullRequest
0 голосов
/ 27 июня 2018

Несколько дней назад я создал CDN Azure Verizon Premium следующим образом:

Происхождение : веб-приложение Azure (веб-сайт .NET MVC 5)
Настройки : Пользовательский домен, без геофильтрации
Правила кэширования : стандартный кеш (не заботится о параметрах)
Сжатие : включено
Оптимизировано для : динамическое ускорение сайта
Протоколы : HTTP, HTTPS, настраиваемый домен HTTPS
Rules : принудительное использование HTTPS через обработчик правил (если схема запроса = http, 301 перенаправить на https://{customdomain}/$1)

Итак - этот CDN работает уже несколько дней, но в отчетах ADN говорится, что почти 100% (99,36%) состояния кэша имеет значение «CONFIG_NOCACHE» (Описание: «Объект настроен так, чтобы никогда не кэшироваться в соответствии с индивидуальными настройками клиента, расположенными на пограничных серверах, поэтому ответ был обработан через исходный сервер. ") Некоторые (0,64%) из них" NONE "(Описание:" Кэш был полностью обойден для этого запроса. Например, запрос был немедленно отклонен модулем авторизации токена, или метод запроса клиента использовал метод запроса без кэширования, такой как «PUT». ») Также в отчете« Попадание в кэш »указано« 0 попаданий, 0 пропусков » на каждый день. Ничто не проходит через «HTTP Large», только «ADN».

Я не мог найти эти точные сообщения при поиске, но я пробовал:

  • Обновление заголовка элемента управления кэшем до max-age, public (то есть: контроль кэша: public, max-age = 1209600)
  • Обновление заголовка элемента управления кешем до max-age (контроль кеша: max-age = 1209600)
  • Обновление заголовка expires до даты в будущем (expires: вторник, 19 января 2038 03:14:07 GMT)
  • Использование разных браузеров, поэтому информация о кеше запросов различна. В Chrome запрос "контроль кеша: нет кеша" в моем браузере. В Firefox будет указано «Cache-Control: max-age = 0». В любом случае, я бы предположил, что пользователи на сайте не будут иметь такие же настройки, верно?
  • Обновление страницы несколько раз и просмотр отчета в реальном времени, чтобы увидеть статусы попаданий / пропусков / кэширования, и он показывает то же самое - CONFIG_NOCACHE почти для всего.
  • Попытка выполнить "всемирный" тест скорости на https://www.dotcom -tools.com / website-speed-test.aspx , но это дало тот же результат - куча "NOCACHE" хитов.
  • Попытка добавления правил ВОПОГ, чтобы установить для внутреннего и внешнего максимального возраста значение 864000 с (10 дней).
  • Попытка добавить правило ADN, чтобы игнорировать запросы "без кэширования" и просто возвращать кэшированный результат.

Итак, сообщение "NOCACHE" говорит о том, что это проблема конфигурации узла ... но я даже не настроил ее! Я весьма озадачен. Это также может быть проблема приложения, но я чувствую, что перепробовал все возможные варианты «управления кэшем». Вот пример одного файла, который я ожидаю кэшировать:

Screenshot from Chrome

В конечном счете, я надеюсь, что большинство запросов кэшируется, поэтому я вижу, что большинство запросов будет «TCP Hit». Может быть, это неправильно? Заранее спасибо за помощь!

1 Ответ

0 голосов
/ 09 июля 2018

Итак, я в конце концов разобрался с этой проблемой. По-видимому, платформа Azure Verzion Premium CDN ADN по умолчанию включает «обходной кэш».

Чтобы отключить это поведение, вам необходимо настроить дополнительные функции для ваших правил кэширования.

Пример:

ЕСЛИ всегда
Особенности:
Обходной кэш отключен
Принудительная внутренняя реакция максимального возраста 200 864000 секунд
Игнорировать Origin No-Cache 200

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...