Re: Перебор именованных location
Alexander Moskalenko
alexander.moskalenko на gmail.com
Пн Авг 29 13:15:29 UTC 2011
Спасибо, исправлю
возник еще вопрос по данной схеме но уже с кешированием
location ~* "^/[a-z0-9]{32}/[a-z]+/g2/c/" {
error_page 404 = @remote;
fastcgi_pass ...;
fastcgi_intercept_errors on;
fastcgi_cache fastcgi_cache;
fastcgi_cache_valid 200 302 1w;
fastcgi_cache_valid 404 2m;
fastcgi_cache_use_stale updating error timeout invalid_header
http_500 http_503 http_404;
fastcgi_cache_key "$request_method|$uri";
}
location @remote {
fastcgi_pass fpm_remote;
fastcgi_cache fastcgi_cache;
fastcgi_cache_valid 200 302 1w;
fastcgi_cache_valid 404 2m;
fastcgi_cache_use_stale updating error timeout invalid_header
http_500 http_503 http_404;
fastcgi_cache_key "$request_method|$uri";
}
без кеша все работает как положено
но если включить кеш то получается что после обращения к бекенду ответ с
кодом 404 попадает в кеш, а потом именованый локейшн берет ответ из кеша
одинаковые ключи сделаны специально чтобы независимо от того откуда был
получен ответ результат кешировался
собственно вопрос:
как сделать так чтобы 404 ответ в кеш не попадал при локальной обработке, но
при получении 404 от удаленного бекенда все-таки складывался?
2011/8/29 Igor Sysoev <igor at sysoev.ru>
> On Mon, Aug 29, 2011 at 03:54:22PM +0300, Alexander Moskalenko wrote:
> > спасибо, помогло
> >
> >
> > - fastcgi_interpcept_errors on;
> > + fastcgi_intercept_errors on;
> >
> > также получилась вот такая конструкция для другого алгоритма
> >
> > location ~* "^/(?<section>.*)/g_\d+/(?<img_name>.*)/.*\.(gif|jpe?g)$" {
> > try_files $uri @remote;
> > }
> >
> > location @remote {
> > include proxy_params;
> > proxy_pass http://static_remote;
> > proxy_intercept_errors on;
> > error_page 404 = /$section/nophoto/$img_name.png;
> > proxy_store on;
> > proxy_store_access user:rw group:rw all:rw;
> > }
>
> На будущее - всегда делать префиксы в УРЛах для локализации регулярных
> выражений:
>
> location /some_action/ {
> location ~* "^/some_action/(?<section>.*)/...
>
>
>
> --
> Игорь Сысоев
> http://sysoev.ru
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20110829/b42d6c76/attachment-0001.html>
Подробная информация о списке рассылки nginx-ru