如何在节点/角度/nginx应用程序上强制缓存过期

Posted

技术标签:

【中文标题】如何在节点/角度/nginx应用程序上强制缓存过期【英文标题】:How to force a cache expiration on a node / angular / nginx app 【发布时间】:2016-05-19 14:13:55 【问题描述】:

我有一个 node / angular /nginx 应用程序,当我进行新部署时,我需要在浏览器上强制缓存过期。

有一些工具可以对 js 文件执行此操作(向文件添加 ?version),但它们不适用于 html 模板和 css。

这里有人遇到过同样的问题吗?你是怎么解决的?

谢谢

【问题讨论】:

我对一个简单的 Angular 应用程序(没有 nodejs)有同样的“错误”:html 被浏览器缓存,而 ctrl+F5 不足以刷新缓存。 ***.com/questions/29635443/… 【参考方案1】:

您需要更改服务器中的 nginx 配置。

这是一篇有趣的文章,你必须read:

您的配置应如下所示:

location ~* \.(?:css|js)$ 
  expires 1y; 
  add_header Cache-Control "public";

例如使其在 1 年内到期

【讨论】:

add_header Cache-Control "public" 是什么意思;方法? @克里斯图

以上是关于如何在节点/角度/nginx应用程序上强制缓存过期的主要内容,如果未能解决你的问题,请参考以下文章

NGINX proxy 模块如何如何缓存动态页面内容?如何让缓存过期

强制过期 JWT

如何在 AWS Beanstalk 环境中覆盖 nginx

当令牌在角度4中过期时如何重定向到注销

页面缓存堆积并在其他节点上强制分配内存

过期输出缓存 ASP.Net MVC