I'm using nginx 1.9.9 as a proxy for Gravatar (drops the waiting time for an avatar from 300ms to 15ms ). However, the cache expires in just a few minutes while I specified it to expire in 7 days. In just a few minutes I receive the header X-Proxy-Cache: EXPIRED
.
The configuration is as follows:
proxy_cache_path /var/www/gravatar-cache levels=1:2 keys_zone=gravatar:8m inactive=7d use_temp_path=off max_size=1000m;
proxy_cache_key "$scheme$request_method$host$request_uri";
server {
listen 443 ssl http2;
server_name [hidden];
access_log off;
ssl_certificate [hidden];
ssl_certificate_key [hidden];
location /avatar/ {
expires 365d;
proxy_cache gravatar;
proxy_cache_valid any 7d;
proxy_pass https://secure.gravatar.com;
proxy_ignore_headers Cache-Control;
proxy_hide_header link;
proxy_hide_header source-age;
proxy_hide_header content-disposition;
proxy_hide_header via;
proxy_hide_header x-varnish;
proxy_hide_header accept-ranges;
proxy_hide_header last-modified;
add_header Cache-Control public;
add_header X-Proxy-Cache $upstream_cache_status;
}
}
Is there something wrong with the configuration?
Thanks!