Добрый день,
location / {
client_body_temp_path /var/mogdata/tmp;
root /cache/usr/home/mogile;
flv;
index index;
internal;
error_page 404 = @fallback;
}
location @fallback {
client_body_temp_path /var/mogdata/tmp;
root /var/mogdata;
flv;
index index;
internal;
}
/cache/usr/home/mogile - это диск в памяти. /var/mogdata - на винте.
В первый location запрос попадает после x-accel-redirect и в случае отсутствия файла по данному пути должен по 404 брать файл с диска. Но этого не происходит.
В логе:
2008/09/17 17:57:42 [error] 14095#0: *18794 open() "/cache/usr/home/mogile/dev1/0/000/078/0000078388.fid" failed (2: No such file or directory)
Если убираю internal-ы и пробую запросить файл напрямую снаружи то запрос нормально проходит по 404 на второй локейшн.
Почему так? Это не совместимость x-accell-redirect и error_page?
nginx/0.6.32