Contact Information
No response
1Panel Version
v2.0.15
Problem Description
反向代理默认配置存在严重设计问题:默认强制添加 Cache-Control: no-cache 响应头,当后端也返回 Cache-Control 时,这会使得出现两个 Cache-Control(no-cache 优先级通常比 max-age 更高?),且当更新反向代理配置保存后(编辑 - 确认),会重新添加 add_header Cache-Control no-cache;。
这导致了非预期的缓存行为,尤其在 CDN 之后, CDN 更倾向于遵循 no-cache 而不是 max-age ,导致 HIT 率变低,浏览器缓存行为不可预测。
如果是因为浏览器缓存的停用状态,也不应该添加 Cache-Control 导致破环应用缓存逻辑。
Steps to Reproduce
- 网站 - 创建网站 - 反向代理 - 默认配置包含 no-cache。
- 网站配置 - 基本 - 反向代理 - 源文 - 删除
add_header Cache-Control no-cache; - 确认 - 编辑 - 不需要改动 - 确认 - add_header Cache-Control no-cache; 回归。
The expected correct result
不应添加 Cache-Control,除非当反向代理浏览器缓存被启用。
这是一个逻辑错误,停用浏览器缓存时(默认),应理解为 “不需要在这里设置客户端缓存控制”,而不是 “客户端不能缓存”。
Related log output
Additional Information
No response