【发布时间】:2015-06-24 23:06:05
【问题描述】:
我正在做以下事情
$ curl -X GET -I -H "Cache-Control: no-cache" https:/myserver/myimage.jpg
HTTP/1.1 200 OK
Server: nginx/1.4.6 (Ubuntu)
Date: Wed, 24 Jun 2015 22:55:31 GMT
Content-Type: image/jpeg
Content-Length: 37502
Connection: keep-alive
Etag: "wzsdm-1434973626-37502-1204291434"
Cache-Control: max-age=604800, public
Expires: Wed, 01 Jul 2015 22:43:01 GMT
X-Proxy-Cache: HIT
我希望得到以下内容
X-Proxy-Cache: BYPASS
我在 Nginx 上的配置如下:
location ~* \.(?:jpg|jpeg|gif|png|pdf|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc)$ {
proxy_cache my_zone;
add_header X-Proxy-Cache $upstream_cache_status;
include proxy_params;
proxy_pass http://my-backend;
}
有没有我可能错过的配置?
【问题讨论】:
-
我猜你需要nginx.org/r/proxy_cache_bypass。
Cache-Control标头用于浏览器,而不是用于服务器。 -
是的,我知道“Cache-Control: no-cache”适用于浏览器。在 Chrome 中,它改为发送“Cache-Control:max-age=0”。我已经包含了 proxy_cache_bypass 并且它不会绕过缓存。
-
你包括了什么?
-
我没有包括任何东西(当然除了启用网站的网站)。我的 nginx 是通过 apt-get 安装的。
-
显示完整的 nginx 配置。
标签: curl nginx cache-control no-cache