Спасибо, исправлю<div><br></div><div><br></div><div>возник еще вопрос по данной схеме но уже с кешированием</div><div><br></div><div><div>    location ~* "^/[a-z0-9]{32}/[a-z]+/g2/c/" {</div><div>        error_page   404  =  @remote;</div>
<div>        fastcgi_pass   ...;</div><div>        fastcgi_intercept_errors on;</div><div>        fastcgi_cache  fastcgi_cache;</div><div>        fastcgi_cache_valid 200 302 1w;</div><div>        fastcgi_cache_valid  404 2m;</div>
<div>        fastcgi_cache_use_stale updating error timeout invalid_header http_500 http_503 http_404;</div><div>        fastcgi_cache_key "$request_method|$uri";</div><div>    }</div><div><br></div><div><div>    location @remote {</div>
<div>        fastcgi_pass   fpm_remote;</div><div>        fastcgi_cache  fastcgi_cache;</div><div>        fastcgi_cache_valid 200 302 1w;</div><div>        fastcgi_cache_valid  404 2m;</div><div>        fastcgi_cache_use_stale updating error timeout invalid_header http_500 http_503 http_404;</div>
<div>        fastcgi_cache_key "$request_method|$uri";</div><div>    }</div></div><div><br></div><div>без кеша все работает как положено<br>но если включить кеш то получается что после обращения к бекенду ответ с кодом 404 попадает в кеш, а потом именованый локейшн берет ответ из кеша</div>
<div><br></div><div>одинаковые ключи сделаны специально чтобы независимо от того откуда был получен ответ результат кешировался</div><div><br></div><div><br></div><div>собственно вопрос:</div><div>как сделать так чтобы 404 ответ в кеш не попадал при локальной обработке, но при получении 404 от удаленного бекенда все-таки складывался?</div>
<br><div class="gmail_quote">2011/8/29 Igor Sysoev <span dir="ltr"><<a href="mailto:igor@sysoev.ru">igor@sysoev.ru</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">On Mon, Aug 29, 2011 at 03:54:22PM +0300, Alexander Moskalenko wrote:<br>
> спасибо, помогло<br>
><br>
><br>
> - fastcgi_interpcept_errors  on;<br>
> + fastcgi_intercept_errors  on;<br>
><br>
> также получилась вот такая конструкция для другого алгоритма<br>
><br>
> location ~* "^/(?<section>.*)/g_\d+/(?<img_name>.*)/.*\.(gif|jpe?g)$" {<br>
>         try_files $uri @remote;<br>
> }<br>
><br>
> location @remote {<br>
>         include proxy_params;<br>
>         proxy_pass <a href="http://static_remote" target="_blank">http://static_remote</a>;<br>
>         proxy_intercept_errors on;<br>
>         error_page 404 = /$section/nophoto/$img_name.png;<br>
>         proxy_store             on;<br>
>         proxy_store_access      user:rw  group:rw  all:rw;<br>
> }<br>
<br>
</div>На будущее - всегда делать префиксы в УРЛах для локализации регулярных<br>
выражений:<br>
<br>
location /some_action/ {<br>
   location ~* "^/some_action/(?<section>.*)/...<br>
<font color="#888888"><br>
<br>
<br>
--<br>
</font><div><div></div><div class="h5">Игорь Сысоев<br>
<a href="http://sysoev.ru" target="_blank">http://sysoev.ru</a><br>
<br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br>
</div></div></blockquote></div><br></div>