我很难让Nginx忽略并向代理服务器隐藏一些头文件。
我想要Nginx隐藏和忽略“缓存控制”和“服务器”头,但它没有工作,我不知道为什么。
我的公寓如下:
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安装中。
发布于 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标头不会传递给发送给客户端的响应,如Date、X-Pad和X-Accel-...报头。
因此,这应该是可行的:
location / {
access_log off;
add_header Cache-Control "public";
proxy_pass http://111.131.50.42;
proxy_hide_header Cache-Control;
expires 60M;
} 确保您没有使用缓存的数据从浏览器中进行测试,请使用curl。
https://serverfault.com/questions/641417
复制相似问题