Kangle缓存,响应头Expires一直显示为首次回源时间
首次访问:200Date: Sun, 04 Oct 2020 01:31:01 GMT
Expires: Sun, 04 Oct 2020 13:31:01 GMT
过几秒后刷新第二次访问:304
Date: Thu, 08 Oct 2020 04:18:00 GMT
Expires: Sun, 04 Oct 2020 13:31:01 GMT
第三次访问:200
Date: Thu, 08 Oct 2020 04:18:00 GMT
Expires: Sun, 04 Oct 2020 13:31:01 GMT
这样相当于新用户访问我的jscss得请求两次,一次获取文件,第二次获取响应头,Expires的数值一直没有变化,看了你们的站点Date和Expires时间都是最新的,这应该跟我设置的静态化没关系吧 后续:安装了带ep的一键脚本,部署了强制缓存,跟我的纯kangle控制回应对比,发现是多扣选了静态化,现已取消,问题解决。
总结:不是动态文件尽量不要扣选静态化,本来就是css扣选了的话,Expires的时间就被锁定,从而请求到的是缓存文件Expires和date时间已经过期很久,随便刷新都得向CDN验证文件,一个几十B的响应头,刷新后就不会了 date是最新时间+age过期后才会再次效验,而会Expires一直处于报废状态。 我想css一直只请求CDN,不让它验证源站是否有变化,cache_control已设置max_age:31536000,是不是还得把flag:always_online扣选了 flag:always_online永久在线仅在源站故障无法访问的情况下生效,例如无法回源,源站文件丢失404,则会通过永久在线继续输出文件
你一楼的问题可能也是浏览器缓存,因为你使用了Expires,你测试的时候把禁用缓存勾选打开试一下。
当然,强制缓存会如你所说的,强制缓存在CDN节点中,不进行回源验证文件是否更新,一般用于动态文件强制缓存,静态不推荐使用强制缓存
https://bbs.itzmx.com/thread-95091-1-1.html
kangle默认用的last-modified,而不是你说的Expires,Expires可能是你源站输出的。
kangle使用效果更好地if-modified-since验证方式,网站替换文件,使用kangle的站点可以实时更新修改内容(未使用强制缓存情况)
如果你使用Expires,那么在Expires的有效期结束之前,浏览器则会强制缓存在本地,不会进行文件的更新操作,会导致更新文件客户端还是老文件的情况
可参考:https://bbs.itzmx.com/thread-19529-1-1.html
不过看了你的需求是,想要强制缓存在kangle CDN中,永久不进行回源验证文件是否更新,那你可以设置如下
cache_control模块,勾选静态化,设置31536000
此时已经可以缓存在cdn中,不在回源验证文件更新情况
如果你还想同时通知浏览器永久缓存,可以额外设置如下
增加一个add_header回应头部,通知浏览器中永久缓存
值为:Cache-Controlmax-age=31536000
页:
[1]