404 -> FastCGI
Andrew Stroganoff
stroganoff at gmail.com
Thu Jun 23 13:29:19 MSD 2005
Появилась проблема, как мне кажется связанная с
кешированием информации о файле (fstat).
краткое описание проблемы:
запрос, сервер не находит файла, отправляет запрос на fast-cgi,
последний создает этот файл и отправляет редирект браузеру, чтобы тот
еще раз запросил этот файл.
На это раз приходит пустой файл, хотя он совсем не пустой.
Если после этого нажать в браузере refresh - то выдается правильный файл.
вот примерная схема работы:
1) браузер отправляет запрос на файл
2) nginx понимает, что файла нету, срабатывает error_page на новый location
3) на новом location стоит fastcgi_pass
4) мой модуль получает запрос, создает файл, пишет в syslog, делает
header("Location: /redirect/$the_same_uri");
5) браузер получает ответ и идет по редиректу
6) nginx получает запрос, который попадает под
rewrite ^/redirect(.*)$ $1 last;
и отдает пустой файл, но со всеми правильными заголовками.
Еще интересно, что толи в первый, то ли во второй запрос nginx пишет в
error-лог,
что "failed (2: No such file or directory)".
вот конфиг:
location / {
rewrite ^/redirect(.*)$ $1 last;
index index.html index.htm;
}
location /data/ {
error_page 404 "/generate-data/";
}
location /generate-data/ {
fastcgi_pass localhost:1122;
fastcgi_index base.xml;
fastcgi_param REQUEST_URI $request_uri;
}
спасибо
андрей
More information about the nginx-ru
mailing list