如何解决当我在代理服务器中使用过期时,代理忽略标头不起作用
我使用 nginx 代理另一个 nginx 服务器,但是缓存有问题。 代理服务器配置文件:
location ~* .*\.(gif|jpg|jpeg|bmp|png|ico|txt|pdf|doc|docx|xls|xlsx|ppt|pptx|vtt)$
{
include conf.d/open_file.conf;
include conf.d/static.conf;
expires 4d;
}
我设置了 pdf 文件在 4 天后过期。 但是我在代理服务器中使用了 proxy_ignore_headers:
location ^~ /pk/ {
proxy_pass http://pk_server/;
if ($request_method = 'OPTIONS' ) {
return 403;
}
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header Host $http_host;
proxy_set_header Remote_Addr $remote_addr;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxy_set_header X-Forwarded-Proto $scheme;
if ($http_x_forwarded_proto != '') {
set $final_scheme $http_x_forwarded_proto;
}
if ($http_x_forwarded_proto = '') {
set $final_scheme $scheme;
}
proxy_set_header X-Forwarded-Proto $final_scheme;
proxy_set_header Cookie $http_cookie;
proxy_set_header Cache-Control 'no-cache';
proxy_ignore_headers "Expires" "Cache-Control";
if ($args ~* nocache=) {
set $arg_nocache 1;
}
if ($request_uri ~* \.mp4$) {
set $arg_nocache 1;
}
proxy_cache ava_cache;
proxy_cache_valid 200 302 301 304 90s;
proxy_cache_key $host$uri$is_args$args;
add_header X-Cache $upstream_cache_status;
add_header X-Frame-Options SAMEORIGIN;
add_header Access-Control-Allow-Methods GET,POST,HEAD;
}
但是我的请求响应过期并且浏览器在第一次请求后从磁盘缓存中获取 pdf:
如何让浏览器使用 If-Modified-Since 来检查文件是否已被修改而不是从磁盘缓存中读取
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。