Re: Немного про логику кеша

Maxim Dounin mdounin на mdounin.ru
Ср Май 22 15:12:37 UTC 2019


Hello!

On Wed, May 22, 2019 at 05:29:33PM +0300, kpoxa wrote:

> Что-то у меня не сходится, не понимаю:
> 
> Запрос в 22/May/2019:17:15:43
> Файл элемента кеша создан  May 18 12:46
> inactive=1d
> ответ 302
> proxy_cache_valid         301 302 404 15s;
> 
> Более подробно:
> 
> 
> В логе запрос с попаданием в кеш
> 
> [22/May/2019:17:15:43 +0300] "/s13/27/public_pin_l/241/2352410650.jpg"
> ip=15.85.172.17 status=302 size=0 upTime=- upstream_addr=-
> upstream_status=- request_time=0.000 cache=HIT ref="-" http
> 
> Вычисляем файл кеша:
> 
> echo -n /s13/27/public_pin_l/241/2352410650.jpg | md5sum
> 044e2e2e9226a8f10d25d480a49d2000
> 
> Вот он
> 
> -rw------- 1 www-data www-data 684 May 18 12:46
> 044e2e2e9226a8f10d25d480a49d2000
> 
> Содержит он
> 
> 
> cat 044e2e2e9226a8f10d25d480a49d2000
> ђa]яяяяяяяяђФЯ\ТYЁK~¬
> KEY: /s13/27/public_pin_l/241/2352410650.jpg
> HTTP/1.1 302 Found
> Server: nginx/1.15.8
> Date: Sat, 18 May 2019 09:46:56 GMT
> Content-Length: 0
> Connection: close
> Cache-Control: max-age=2592000
> Expires: Mon, 17 Jun 2019 09:46:56 GMT
> Location: /s107/797257fdf5bc88f5/2352410650.jpg
> Pragma: no-cache
> X-Powered: iconv
> Content-Type: image/jpeg

И что именно не сходится?
Вроде никаких противоречий не просматривается.

В соответствии с заголовком Cache-Control - ответ валиден 30 дней, 
если его спрашивают хотя бы раз в сутки (inactive=1d) - эти 30 
дней он и будет лежать в кэше.

Указанное в директиве proxy_cache_valid время в данном случае не 
не используется, так как время валидности ответа явно указано в 
заголовках Cache-Control и Expires (и директивы 
proxy_ignore_headers в конфиге нет).

-- 
Maxim Dounin
http://mdounin.ru/


Подробная информация о списке рассылки nginx-ru