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