post_action remote бакенд

Znikus M znikus at mail.ru
Thu Dec 7 15:33:41 MSK 2006


Доброго времени суток!
 
Хотелось бы узнать можно ли выполнить post_action во время разрыва соединения, если скрипт находится на другом сервере? На одном сервере все работает нормально: постакшен вызывается и при разрыве соединения и если файл докачался. Но если proxy_pass ссылается на другой сервер, то постакшен вызывается только по окончанию довнлоада.  
вот конфигурация:
 
...
 
 server {
         listen       8085;
         server_name  test_local.com;
         root   /data/www/test_local.com;
 
         charset windows-1251;
 
         access_log  logs/test_local.access.log;
         error_log logs/test_local.error.log;
 
         location / {
 
            if ($uri ~ '^/(.+)/(.+)$') {
                 set $crypt $1;
                 set $file  $2;
 
                 rewrite ^ /cgi-bin/download-start.cgi?to=$token&fi=$file last;
            }
 
         }
 
         location /files {
            post_action /download-stop;
         }
 
         location /download-stop {
            rewrite ^ /cgi-bin/write_log.cgi?rc=$request_completion&bs=$body_bytes_sent last;
         }
 
         location /cgi-bin/ {
            proxy_pass http://test_remote.com:80/cgi-bin/;  # не вызывается во время разрыва соединения
            # proxy_pass http://test_local.com:80/cgi-bin/; # вызывается во время разрыва соединения
 
         } 
 
 } 
 
 ...
 
 =======================
 
 сорс download_start.cgi
 
 #!/usr/bin/perl
 print "Content-type: audio/mpeg\n";
 print "X-Accel-Redirect: /files/10.mp3\n\n";
 
 
 заранее спасибо.
 





More information about the nginx-ru mailing list