в 0.7.19 не работает error_page 404 = @fallback
Arkadiy Kulev
eth at ethaniel.com
Sat Nov 8 21:07:01 MSK 2008
Здравствуйте,
у меня такой конфиг:
...
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;
}
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.
Попробовал запустить на 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