首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nginx不处理proxy_hide_header和proxy_ignore_header指令

Nginx不处理proxy_hide_header和proxy_ignore_header指令
EN

Server Fault用户
提问于 2014-11-02 10:28:29
回答 1查看 36.4K关注 0票数 7

我很难让Nginx忽略并向代理服务器隐藏一些头文件。

我想要Nginx隐藏和忽略“缓存控制”和“服务器”头,但它没有工作,我不知道为什么。

我的公寓如下:

代码语言:javascript
复制
location / {
    proxy_pass http://111.131.50.42;
    proxy_hide_header Cache-Control;
    expires 60M;
    add_header Cache-Control "public";
    proxy_ignore_headers Cache-Control;
    proxy_hide_header Cache-Control;
    access_log off;
}

但即便如此,我仍在接收原始的“缓存-控制”和“服务器”标题。

你知道我做错了什么吗?

我不能使用ngx_headers_more模块。我无法将这个模块添加到我们的Nginx安装中。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2014-11-02 11:17:37

指令proxy_ignore_headers告诉nginx忽略导致特定内部行为的特殊头的内容:

“X-Accel-Ex远”、“client”、“Cache-Control”、“set -Cookie”和“charset”设置了响应缓存的参数;“charset重定向”执行对指定URI的内部重定向;“charset极限-速率”设置向客户端传输响应的速率限制;“charset缓冲”启用或禁用响应缓冲;“X-Accel-charset”设置所需的响应字符集。

如果要向上游服务器隐藏头部,则需要使用proxy_hide_header。默认情况下,Server标头不会传递给发送给客户端的响应,如DateX-PadX-Accel-...报头。

因此,这应该是可行的:

代码语言:javascript
复制
location / {
    access_log off;
    add_header Cache-Control "public";
    proxy_pass http://111.131.50.42;
    proxy_hide_header Cache-Control;
    expires 60M;
}  

确保您没有使用缓存的数据从浏览器中进行测试,请使用curl

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

https://serverfault.com/questions/641417

复制
相关文章

相似问题

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