Удален из React SPA на S3 / Cloudfront, но браузеры пользователей по-прежнему показывают старый, кэшированный SPA - PullRequest
0 голосов
/ 27 марта 2019

DNS обрабатывается через Route53.Ранее был установлен React SPA на AWS S3 (с облачным фронтом dist + SSL).Это было перенесено в приложение SSR NextJS на ElasticBeanstalk, но даже после изменения записей A и аннулирования CF некоторые пользователи все еще сообщают, что их браузер использует старый S3 SPA.Единственное исправление заключается в том, что они вручную очищают свой кэш для сайта.

Запрос каждого случайного пользователя, который кэшировал мой сайт, вручную обновить свой кэш для страницы, не кажется хорошим решением;)

Вот что я сделал до сих пор:

  • Обновлен Route53 (запись), чтобы он указывал на сервер EB (это работает так, как задумано)),
  • Попытка отключить связанный дистрибутив CF,
  • Когда это не сработало, я удалил файлы в S3 и сделал недействительным CF dist,
  • РЕДАКТИРОВАТЬ: После полного удаления дистрибутива CF пользователи могут перейти на новый сайт - но только после жесткого обновления с полдюжины раз.Я все еще чувствую, что должно быть более элегантное решение для этого, требующее небольшого / никакого пользовательского ноу-хау.

У всех моих файлов CSS & JS были добавлены номера версий, чтобы помочь с кеш-разорение.Пользователи сообщают, что они видят структуру HTML страницы, но для них версионные JS & CSS 404 (как они должны, так как файлы больше не существуют).

Я бы подумал, что это будетдостаточно, чтобы браузер подкачки обновил свой кеш - но, очевидно, нет.Пока единственное решение для затронутых пользователей - очистить кэш вручную.

Более чем рады предложить больше деталей, если это необходимо, любые мысли / входные данные очень ценятся!

...