即便是设置了缓存规则设置了对应的缓存扩展名,但是很多静态资源缓存都是未命中或过期,这不是CDN故障了,而是你的程序问题。
大多数情况下都是源站程序这边的缓存策略故意为之。为了开发的时候确保浏览器不会缓存到这些静态资源影响了每次改代码都要确保清理了缓存才可以看到最新效果,结果这些蠢逼开发者原封不动的打包到正式项目中来依旧有这些缓存策略逻辑代码。导致接入CDN的时候死活无法缓存。
cache-control时间极短:
请求 URL
https://aizhichuang.cn/assets/css/app.css?v=1.0.10-77c3f92f2d58-1784811309-630182
请求方法
GET
状态代码
200 OK
远程地址
103.115.48.199:443
引用站点策略
strict-origin-when-cross-origin
alt-svc
h3=":443"; ma=86400
cache-control
max-age=60
content-encoding
gzip
content-type
text/css
date
Sun, 26 Jul 2026 14:22:03 GMT
etag
W/"6a620f2d-99da6"
expires
Sun, 26 Jul 2026 14:23:02 GMT
last-modified
Thu, 23 Jul 2026 12:55:09 GMT
server
nginx
strict-transport-security
max-age=31536000
strict-transport-security
max-age=31536000
via
L1:6177
x-cache-status
EXPIRED from L1:6177
:authority
aizhichuang.cn
:method
GET
:path
/assets/css/app.css?v=1.0.10-77c3f92f2d58-1784811309-630182
:scheme
https
accept
text/css,*/*;q=0.1
accept-encoding
gzip, deflate, br, zstd
accept-language
zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6,ja;q=0.5
cache-control
no-cache
cookie
image_platform_session=2bgbm0b4ncdfjcrdhqfssurpeh
pragma
no-cache
priority
u=0
referer
https://aizhichuang.cn/
sec-ch-ua
"Not;A=Brand";v="8", "Chromium";v="150", "Microsoft Edge";v="150"
sec-ch-ua-mobile
?0
sec-ch-ua-platform
"Windows"
sec-fetch-dest
style
sec-fetch-mode
no-cors
sec-fetch-site
same-origin
user-agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36 Edg/150.0.0.0
![图片[1]-CDN不缓存对应的资源-日出资源网](https://esaimg.cdn1.vip/i/6a6619f2b7e63_1785076210.webp)
可以看到cache-control这个缓存头值是max-age=60,也就代表该URL的资源只允许缓存60S,导致x-cache-status EXPIRED from L1:6177缓存过期,没60S都要去回源拉取该资源。
cache-control禁用缓存:
请求 URL
https://aizhichuang.cn/assets/img/models/kling.svg
请求方法
GET
状态代码
200 OK
远程地址
103.115.48.199:443
引用站点策略
strict-origin-when-cross-origin
alt-svc
h3=":443"; ma=86400
cache-control
no-cache
content-encoding
gzip
content-type
image/svg+xml
date
Sun, 26 Jul 2026 14:22:07 GMT
etag
W/"6a620f2d-8c3"
last-modified
Thu, 23 Jul 2026 12:55:09 GMT
server
nginx
strict-transport-security
max-age=31536000
strict-transport-security
max-age=31536000
via
L1:6177
x-cache-status
MISS from L1:6177
:authority
aizhichuang.cn
:method
GET
:path
/assets/img/models/kling.svg
:scheme
https
accept
image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8
accept-encoding
gzip, deflate, br, zstd
accept-language
zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6,ja;q=0.5
cache-control
no-cache
cookie
image_platform_session=2bgbm0b4ncdfjcrdhqfssurpeh
pragma
no-cache
priority
u=1, i
referer
https://aizhichuang.cn/
sec-ch-ua
"Not;A=Brand";v="8", "Chromium";v="150", "Microsoft Edge";v="150"
sec-ch-ua-mobile
?0
sec-ch-ua-platform
"Windows"
sec-fetch-dest
image
sec-fetch-mode
no-cors
sec-fetch-site
same-origin
user-agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36 Edg/150.0.0.0
![图片[2]-CDN不缓存对应的资源-日出资源网](https://esaimg.cdn1.vip/i/6a661aa0b1189_1785076384.webp)
这个则是cache-control no-cache意思就是不允许缓存,所以CDN这边遵循了源站的策略要求则不缓存,每次访问CDN都必须回源拉取该资源
存在set-cookie:
![图片[3]-CDN不缓存对应的资源-日出资源网](https://www.rnmcnm.com/wp-content/uploads/2026/07/20260726224030941-Image_1785076554729_572.webp)
这种就是连静态资源都加上了cookie,cdn为了不缓存cookie所以就会跳过这种URL导致不命中
解决方法:这些都是因为源站缓存策略导致的,你可以直接在CDN中开启强制缓存,但是强制缓存中通常会缓存cookie,这具备某些安全风险,所以治根还是要去源站上解决这些
© 版权声明
文章版权归作者所有,未经允许请勿转载。部分内容可能来自网络,如侵权请联系修改~
THE END












暂无评论内容