我使用nginx 1.9.9作为Gravatar的代理(将等待时间从300ms减less到15ms)。 但是,caching在几分钟后过期,而我指定它在7天内过期。 在短短的几分钟内,我收到头X-Proxy-Cache: EXPIRED 。
configuration如下:
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; } }
configuration有问题吗?
谢谢!
$ curl -vv https://en.gravatar.com/userimage/...jpeg -o /dev/null 2>&1 | egrep 'Expires|Cache-Control' < Expires: Wed, 23 Dec 2015 20:17:02 GMT < Cache-Control: max-age=300
我认为它尊重Expires头。