首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nginx add_header和缓存控制

Nginx add_header和缓存控制
EN

Stack Overflow用户
提问于 2013-09-25 18:35:12
回答 2查看 27K关注 0票数 11

在nginx中使用add_header指令时,会将头部添加到来自源站的响应中。

假设源站返回cache-control public,max-age=60。但在nginx反向代理位置中,您可以设置如下内容:

add_header缓存控制公共,最大年龄=10

这到底是做什么的?我能想到两种不同的场景:

1) Nginx会尊重来自源站的cache-control头部,将内容存储在自己的缓存中,过期时间为60秒。然后使用重写的报头传递响应,导致客户端在10s的过期时间内将资源存储在其缓存中。

或者..。

2) Nginx先覆盖响应头部,再进行解释。它以10秒的过期时间存储资源,并将响应传递给客户端,客户端也会在10秒的过期时间内缓存该资源。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-12 02:39:59

Nginx会在源站之前添加头部,因此您会看到:

代码语言:javascript
复制
cache-control: public, max-age=10
cache-control: public, max-age=60

并且原始报头将替换nginx报头。

解决方案是什么?使用带有more_set_headers和more_clear_headers模块的nginx v1.4.3替换或清除源中的头部。

您可以从here下载该模块。

Here如何下载和安装nginx 1.4.3。

Here如何使用指令。

票数 13
EN

Stack Overflow用户

发布于 2020-01-28 22:12:09

如果您想完全丢弃原始的servers标头,您可以添加:

代码语言:javascript
复制
proxy_hide_header 'Cache-Control';
add_header 'Cache-Control' "public, max-age=10";

这将剥离原始标题并添加您自己的标题。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19002567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档