Re: почему ответы бэекенда могут не кешироваться ?

Валера Харсеко vharseko на xxlive.ru
Ср Май 18 13:15:07 MSD 2011


нет ни у кого мыслей ?

вот примеры ответов бэкенда, который nginx не кладет в кеш:

>        location ~* ^.*/image\.flag\.aspx$ {
>                proxy_pass              http://shops;
>                proxy_cache             TST;
>                proxy_cache_key         $request_uri;
>                proxy_cache_valid       200 30d;
>        }

HTTP/1.1 200 OK
Cache-Control: public
Content-Type: image/gif
Last-Modified: Wed, 18 May 2011 08:52:18 GMT
Server: Microsoft-IIS/7.5
Set-Cookie: countrycode2=ru; expires=Sun, 18-May-2014 08:52:18 GMT; path=/
X-AspNet-Version: 4.0.30319
Date: Wed, 18 May 2011 08:52:18 GMT
Content-Length: 962


> location /yml.xml {
>                proxy_pass              http://shops;
>                proxy_cache             TST;
>                proxy_cache_key         $host$request_uri;
>                proxy_cache_valid       200 1d;
>        }

HTTP/1.1 200 OK
Cache-Control: private
Transfer-Encoding: chunked
Content-Type: text/xml; charset=utf-8
Content-Encoding: gzip
Expires: Thu, 19 May 2011 08:55:55 GMT
Last-Modified: Wed, 18 May 2011 08:55:55 GMT
Vary: Accept-Encoding
Server: Microsoft-IIS/7.5
Set-Cookie: ix_person_guid=708dff8a-d62a-4db5-a1dc-1b3970bd10ca; expires=Wed, 18-May-2016 08:55:55 GMT; path=/; HttpOnly
Content-Disposition: attachment; filename=yml.xml;
X-AspNet-Version: 4.0.30319
Date: Wed, 18 May 2011 08:56:27 GMT

а вот эти кладет:

>        location ~* ^.+\.(jpg|jpeg|gif|js|css|doc|ico|cur|png)$ {
>                proxy_pass              http://shops;
>                proxy_cache             SHOPS;
>                proxy_cache_key         $host$request_uri;
>                proxy_cache_valid       200 30d;
>        }

HTTP/1.1 200 OK
Cache-Control: public
Content-Type: image/png
Last-Modified: Wed, 18 May 2011 08:52:18 GMT
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
Date: Wed, 18 May 2011 08:52:18 GMT
Content-Length: 17198

18.05.2011, в 0:31, Валера Харсеко написал(а):

> Заметил, что не весь контент кешируется как задано директивами, например зона SHOPS работает а TST пустая (сделана для удобства проверки)
> Думаю, что дело в ответных заголовках или в их отсутствии от бэкенда.
> Какие именно заголовки проверять ?
> 
> 
> proxy_cache_path /var/cache/nginx/shop levels=1:2 keys_zone=SHOPS:1024m inactive=3d max_size=20g;
> proxy_cache_path /var/cache/nginx/TST2 levels=1:2 keys_zone=TST:1024m inactive=3d max_size=20g;
> 
>        location ~* ^.*/img.+\.png$ {
>                proxy_pass              http://shops;
>                proxy_cache             SHOPS;
>                proxy_cache_key         $host$request_uri;
>                proxy_cache_valid       200 10d;
>        }
>        location ~* ^.+\.(jpg|jpeg|gif|js|css|doc|ico|cur|png)$ {
>                proxy_pass              http://shops;
>                proxy_cache             SHOPS;
>                proxy_cache_key         $host$request_uri;
>                proxy_cache_valid       200 30d;
>        }
>        location ~* ^.*/image\.flag\.aspx$ {
>                proxy_pass              http://shops;
>                proxy_cache             TST;
>                proxy_cache_key         $request_uri;
>                proxy_cache_valid       200 30d;
>        }
>        location /yml.xml {
>                proxy_pass              http://shops;
>                proxy_cache             TST;
>                proxy_cache_key         $host$request_uri;
>                proxy_cache_valid       200 1d;
>        }
>        proxy_redirect             off;
>        proxy_set_header           Host             $host;
>        proxy_set_header           X-Real-IP        $remote_addr;
>        proxy_set_header           X-Forwarded-For  $proxy_add_x_forwarded_for;
>        proxy_connect_timeout      70;
>        proxy_send_timeout         90;
>        proxy_read_timeout         600;
>        proxy_buffering            on;
>        proxy_cache                off;
>        proxy_buffer_size          4k;
>        proxy_buffers              4 32k;
>        proxy_busy_buffers_size    64k;
>        proxy_temp_file_write_size 64k;
>        proxy_temp_path            /var/cache/nginx/proxy_temp 1 2 3;
>        proxy_ignore_client_abort  off;
>        proxy_intercept_errors     on;
>        proxy_cache_use_stale      error updating timeout invalid_header http_500 http_502 http_503 http_504;
> 
>        client_max_body_size       10m;
>        client_body_buffer_size    128k;
>        client_body_temp_path      /var/cache/nginx/client_body_temp 1 2 3;_______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru

----------- следущая часть -----------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3733 bytes
Desc: отсутствует
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20110518/e3bb71f7/attachment.bin>


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