On 18 Sep 2014, at 14:49, shahzaib shahzaib <shahzaib...@gmail.com> wrote:

> Hi,
> 
>    We're using proxy_store on the edge server for replicating requested mp4 
> files and some of our users reported that some of the videos are half sized 
> and therefore they are unable to stream whole video file on their end (coming 
> from the edge server). On digging into the access_logs of nginx, i found the 
> 500 internal server errors for 10~20 videos and on checking the size of 500 
> error videos it was half of the size compare to the mirrored video files on 
> the origin. Please check the following error of the culprit video link :-
> 
> 203.124.62.213 - - [18/Sep/2014:15:13:58 +0500] "GET 
> /files/videos/2014/09/12/1410536044adf1b-360.mp4?start=729 HTTP/1.1" 500 588 
> "http://lw3.files.com/files/videos/2014/09/12/"; "Mozilla/4.0 (compatible; 
> MSIE 8.0; Windows NT 6.0)"
> 
> I'd like to inform that the issue is coming for 40% of the videos. 
> 
> error_log :-
> 
> 2014/09/18 15:30:40 [error] 3883#0: *77490 
> "/var/www/html/files/videos/2014/09/16/141088548798bb1-360.mp4" mp4 start 
> time exceeds file duration, client: 175.110.88.213, server: lw3.files.com, 
> request: "GET /files/videos/2014/09/16/141088548798bb1-360.mp4?start=736.8 
> HTTP/1.1"
> 
> You can see the "start time exceeds error" on edge server but the video link 
> starting from start=736.8 exists on origin server. 
> 
> Nginx config :-
> 
> server {
> 
>         listen       80;
>         server_name lw3.files.com;
>         root /var/www/html/tunefiles;
>         location ~ \.(mp4|jpeg|jpg)$ {
>                root   /var/www/html/tunefiles;
>                 mp4;
>         error_page 404 = @fetch;
> 
>             }
> 
> 
>         location ~ \.(php)$ {
>                 proxy_pass http://fl008.files.net:80;
>         }
> 
> 
> 
>         location @fetch {
>         internal;
>         proxy_pass http://fl008.origin.com:80;
>         proxy_store        on;
>             proxy_store_access user:rw group:rw all:r;
>         root /var/www/html/tunefiles;
> }

Do you have the mp4 module enabled at the origin?  If so then you have partial 
mp4
downloaded from there and stored locally.  Note proxy_pass without URI passes
client URIs to the origin keeping the arguments (including “start”).

_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx

Reply via email to