ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Исключить кеширование отд ельно взятого файла


  • To: nginx-ru@xxxxxxxxx
  • Subject: Исключить кеширование отд ельно взятого файла
  • From: "grigory" <nginx-forum@xxxxxxxx>
  • Date: Mon, 07 Jun 2010 11:18:46 -0400
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mickey.jlkhosting.com; s=x; h=Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To:Date; bh=wHmA7CTL179FPkPgqPpXajxprWeSTellv7Dy20mWYS0=; b=rX7obZXA7vnPnDra3MKSNCtSaphFZpIsYbzondKS5FXruYUMH/To5IfkiwF9rCeqGkpGVPlMU59Ie7FFEr1Shtu8lEiQ2vl8N7PX5nt67L3aRdtHri574rn2XSOC4UGX;

Добрый день. У меня включено кеширование на сервере, но один скрипт постоянно 
обращается к серверу через AJAX сотни раз в минуту, и у него каждый раз 
уникальный url, чтобы браузер не кешировал. Из-за этого в кеше nginx'а 
возникают тысячи файлов, которые генерируются, по-сути, этими запросами, и в 
кеше абсолютно не нужны.

Конфиг примерно такой:

===================
...
    proxy_cache_path   /var/cache/nginx levels= keys_zone=wholepage:50m;

    server {
        listen       80;
        server_name  server.com www.server.com;

        keepalive_timeout 0;

gzip  on;
gzip_min_length 5000;
gzip_proxied any;
gzip_types text/plain text/xml application/xml application/x-javascript 
text/javascript text/css text/json;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_disable ?MSIE [1-6].(?!.*SV1)?;

        location / {
    proxy_pass http://server.com:8080/;
   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;

            client_max_body_size       10m;
            client_body_buffer_size    128k;

            proxy_connect_timeout      90;
            proxy_send_timeout         90;
            proxy_read_timeout         90;

            proxy_buffer_size          4k;
            proxy_buffers              4 32k;
            proxy_busy_buffers_size    64k;
            proxy_temp_file_write_size 64k;

            proxy_cache         wholepage;
            proxy_cache_valid   200 301 302 304 30m;
            proxy_cache_key     
"$request_method|$http_if_modified_since|$http_if_none_match|$host|$request_uri";
            proxy_hide_header   "Set-Cookie";
            proxy_ignore_headers        "Cache-Control" "Expires";

            root /var/www/virtual/server.com;
        }
...
================

Я так понимаю, что мне нужно добавить location в конфиг вроде такого (отключить 
кеширование у файла find.php):

        location ~ ^/find.php {
           proxy_cache         off;
        }

Но из-за этого файл find.php просто перестает работать с ошибкой 405 Not 
Allowed.

Подскажите, как сделать правильно, что кэш работал как прежде, но исключал 
find.php.

Заранее спасибо.

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,95531,95531#msg-95531


_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.