我需要在将请求存储到nginx缓存之前删除从上游代理接收的头。
通过以下配置,我可以看到为clear定义的头文件是如何传送到客户端的,但是存储在缓存路径中,如果我打开其中一个文件,我可以看到所有文件。
proxy_cache_path /var/cache levels=1:2 keys_zone=STATIC:1m inactive=1y max_size=50G;
server {
listen localhost;
server_name myserver;
location / {
more_clear_headers 'Last-Modified';
more_clear_headers 'Cache-Control';
more_clear_headers 'Expires';
more_clear_headers 'X-Powered-By';
more_clear_headers 'X-AspNet-Version';
more_clear_headers 'X-Powered-By';
more_set_headers -s 200 'Cache-Control: max-age=31557600';
proxy_pass http://IP;
proxy_set_header Host example.com;
proxy_cache STATIC;
proxy_cache_valid 200 301 302 1y;
proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504;
proxy_cache_key $uri;
add_header X-Proxy-Cache $upstream_cache_status;
}
}