Welcome! Log In Create A New Profile

Advanced

proxy_ignore_client_abort + internal location

Dmytro Sychevsky
January 25, 2010 04:46AM
Есть nginx который должен забирать с бэкэндов видео отдавать
пользователю и параллельно ложить это видео в локальный кэш - все это
реализовано на основе proxy_store (что бы можно было использовать flv
и mp4 модули) - все настроено и просто прекрастно работает и вот
захотелось бы ко всему этому счастью прикрутить X-Accel-Redirect -
прикрутил и вылезла одна неприятная вещь - если location помечен как
internal то proxy_ignore_client_abort совсем неработает - те тогда
когда отваливается медленный клиент файл перестает тянуться из бэкенда
- если internal убрать то все работает как часы - это баг или фича ?

пример конфига

server {

..skiped..

proxy_buffering on;
proxy_ignore_client_abort on;
proxy_intercept_errors on;


location /video {
root /path/toroot
index index.html index.htm index.php;
if (!-e $request_filename) {
rewrite ^/video(.*)$ /index.php?$1 last;
}
}

location ~ \.php$ {

fastcgi_pass fcgihost.com;
fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME
path/to/script/$fastcgi_script_name;
include fastcgi_params;

}

location ~^\/vc(.+)\.m4v$ {

# internal;
try_files $uri @hdfs_fetch;

root /path/to/cache;
mp4;

limit_rate_after 1M;
limit_rate 48k;

location ~^\/vc(.+)\/1\.m4v$ {
# internal;
mp4;
try_files $uri @hdfs_fetch;
limit_rate_after 4M;
limit_rate 350k;
}

location ~^\/vc(.+)\/2\.m4v$ {
# internal;
mp4;
try_files $uri @hdfs_fetch;
limit_rate_after 2M;
limit_rate 96k;
}


}



location @hdfs_fetch {
internal;

proxy_pass
http://hadoop_HDFS$uri;
proxy_store on;
proxy_store_access user:rw
group:rw all:r;
proxy_temp_path /path/to/cache;

root /path/to/cache;;
}
}

nginx version: nginx/0.8.32
configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt='-I
/usr/local/include' --with-ld-opt='-L /usr/local/lib'
--conf-path=/usr/local/etc/nginx/nginx.conf
--sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid
--error-log-path=/var/log/nginx-error.log --user=www --group=www
--http-client-body-temp-path=/var/tmp/nginx/client_body_temp
--http-proxy-temp-path=/var/tmp/nginx/proxy_temp
--http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp
--http-log-path=/var/log/nginx-access.log --with-http_flv_module
--with-http_gzip_static_module
--add-module=/usr/ports/www/nginx/work/nginx_mod_h264_streaming-2.2.7
--with-http_realip_module --with-http_stub_status_module --with-pcre

----------------------------------------------------------------------

Dmytro Sychevsky
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

proxy_ignore_client_abort + internal location

Dmytro Sychevsky January 25, 2010 04:46AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 313
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready