nginx配置缓存时间为不缓存.

 

因为使用cdn的缓存,发现前端写的代码总是不生效,开始以为是cdn的问题,最后发现问题是出在nginx层.

只需要在nginx层设置成下面的配置就可以让前端代码生效了

 

location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to  a 404.
                try_files $uri $uri/ =404;
                add_header Cache-Control no-cache;
            add_header Cache-Control private;
            #设置缓存上面定义的后缀文件缓存到浏览器的生存时间
            expires -1s;
        }

修改:上面的配置会出现一个问题

首先cdn缓存会因为上面的配置不生效,cdn会针对加了expires -1s和no-cache的关键字提高不缓存的优先级.所以就会出现静态资源无法加速.

所以上面的配置虽然解决了每次前端代码的缓存问题,但是也让页面的响应效率下降了.

 

根本性解决问题:

阿里云提供cdn缓存的刷新和预热.

刷新:指将cdn服务器的缓存给清理掉.

预热:指将页面或接口(我用了全站接口,所以接口也可以动态缓存优化)预先进行访问,就会提前将缓存预热到cdn中,那么客户访问时就直接是最新的缓存数据.提升速度.

终极方案:是通过前端发布时用jenkins进行打包发布到服务器时触发阿里云的自动刷新和预热py脚本.这样就能一站式解决刷新预热问题.

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值