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