Как безопасно использовать CDN для кэширования HTML, который может указывать на устаревшие ресурсы - PullRequest
0 голосов
/ 15 ноября 2018

У меня сейчас есть настройки CDN для кэширования JS, CSS и изображений.

Я думаю об использовании CDN для кэширования HTML-страниц для гостевых посетителей.Вот проблема:

Моя полезная нагрузка HTML ссылается на файл JS (например, index.abc123.js).

При развертывании изменения на моем исходном сервере изменяется файл JS (например,index.def456.js).Будущие полезные нагрузки HTML будут ссылаться на этот новый файл JS.

Если CDN обслуживает мою кэшированную полезную нагрузку HTML, она попытается получить index.abc123.js.Если это в кеше, все хорошо.Но если срок его действия истек из кэша, он попадет на мой исходный сервер и получит 404.

Поскольку каждый ресурс (HTML, CSS, JS и т. Д.) Кэшируется в CDN независимо друг от друга с разнымиTTL, как я могу защититься от вышеуказанного сценария?

Я могу думать только о двух вариантах: очистить все при каждом развертывании.Или сохранить ресурсы для последних N развертываний.Первый вариант побеждает цель CDN.Второй вариант потребует дополнительной настройки развертывания, чего я хочу избежать.Есть еще идеи?

Спасибо.

...