已从S3 / Cloudfront上的React SPA移出,但用户的浏览器仍显示旧的,已缓存的SPA

时间:2019-03-27 18:34:37

标签: reactjs amazon-web-services amazon-s3 amazon-cloudfront amazon-route53

DNS正在通过Route53处理。以前,已经在AWS S3上部署了React SPA(使用Cloudfront dist + SSL)。将其移至ElasticBeanstalk上的SSR NextJS应用程序,但是即使更改了A记录并使CF无效,一些用户仍在报告他们的浏览器正在使用旧的S3 SPA。唯一的解决方法是让他们手动清除网站的缓存。

让每个缓存了我的网站的随机用户要求手动刷新其页面缓存似乎不是一个好的解决方案;)

这是我到目前为止所做的:

  • 更新了Route53(一条记录)以指向EB服务器(这正在按预期工作),
  • 尝试禁用关联的CF分配,
  • 如果那不起作用,我删除了S3中的文件并使CF dist失效,
  • 编辑::完全删除CF dist后,用户可以进入新站点-但仅需硬刷新六遍即可。我仍然觉得应该有一个更优雅的解决方案来解决这一需要很少/不需要用户专业知识的问题。
  

我所有的CSS和JS文件都附加了版本号,以帮助清除缓存。用户报告说他们看到了页面的HTML结构,但是为他们看到了版本化的JS&CSS 404(应有此选择,因为文件不再存在)。

我本以为这足以让浏览器交换更新其缓存-但显然不是。到目前为止,唯一的解决方案是让受影响的用户手动清除其缓存。

非常乐意在需要时提供更多详细信息,非常感谢您的任何想法/投入!

0 个答案:

没有答案