в 0.7.19 не работает error_page 404 = @fallback

Maxim Dounin mdounin at mdounin.ru
Sun Nov 9 00:20:42 MSK 2008


Hello!

On Sat, Nov 08, 2008 at 09:07:01PM +0300, Arkadiy Kulev wrote:

> Здравствуйте,
> 
> у меня такой конфиг:
> 
>         ...
>         upstream backend {
>                 server   89.188.102.66:96 max_fails=10 fail_timeout=1;
>                 server   89.188.102.66:96 max_fails=10 fail_timeout=1;
>                 server   89.188.102.66:96 max_fails=10 fail_timeout=1;
>                 server   89.188.102.66:96 max_fails=10 fail_timeout=1;
>                 server   89.188.102.66:96 max_fails=10 fail_timeout=1;
>                 server   89.188.102.66:96 max_fails=10 fail_timeout=1;
> 
>         }
>         ...
>         server {
>                 listen 89.188.102.68:80;
>                 server_name data1 ~[0-9].data1.*$ data1.*;
>                 access_log   /var/log/nginx.log static;
>                 root /data1;
>                 location @fallback {
>                         access_log /var/log/nginx.log new;
>                         keepalive_timeout 0;
>                         proxy_set_header Srcuri $request_uri;
>                         proxy_set_header Host $host;
>                         proxy_set_header Weneed $uri;
>                         proxy_pass   http://backend;
>                 }
>                 location /albums/ {
>                         rewrite   ^/albums/([a-z]+)/[0]*([0-9]*)([0-9])-([0-9]*)-([0-9]+)-(.*)\.([a-z]*)$  /cache/$1_cache/$6/$5-$6.$7;
>                         rewrite   ^/albums/([a-z]+)/[0-9]/[0-9]/[0-9]/[0]*([0-9]*)([0-9])/(.*)/cache/[0]*([0-9]*)-(.*)\.([a-z]*)$ /cache/$1_cache/$6/$5-$6.$7;
>                         rewrite   ^/cache/([a-z]+)_cache//(.*)$ /cache/$1_cache/src/$2;
>                         if ($uri !~* ^/cache ) {
>                                 return   403;
>                         }

+                         break;

>                         error_page       404  =  @fallback;
>                 }
>                 location /albums_allow/ {
>                         rewrite   ^/albums_allow/([a-z]+)/([0-9]?)([0-9]?).([a-z]*)$ /albums_allow/$1/0/$2$3.$4 break;
>                         rewrite   ^/albums_allow/([a-z]+)/([0-9]*)([0-9])([0-9])([0-9]).([a-z]*)$ /albums_allow/$1/$3/$2$3$4$5.$6;
>                 }
> 
>         }
> 
> 
> В 0.6.32 - все происходит нормально, в случае если файл отсутствует
> на диске, идет обращение на http://backend через @fallback.

Не должно.  Либо конфиг художественно попилен, либо работает 
реально другой.

Maxim Dounin

> Попробовал запустить на 0.7.19 - выдает обычную 404 ошибку, а
> location @fallback вообще не выполняется (определил по логу - так как
> у меня access_log new отличается от access_log static, выполняющегося
> по умолчанию).
> 
>   
> 
> Arkadiy Kulev                         mailto:eth at ethaniel.com
> +7 495 5070602
> Moscow, Russia
> 
> 





More information about the nginx-ru mailing list