I''m trying to sent a file to the iphone (which requires byte-range request support) using the rails send_file method. However, this fails, I think because of mongrel. I think so because if I send the iphone a file handled by nginx, it plays it fine. But then when I serve the file with rails the iphone can''t play it. Any ideas? Alex
Hi Alex, Check out the x_send_file plugin. When you use this to send a file, it just sends the location on disk to the web-server (in a special HTTP header). The webserver then looks up the file + streams it down to the client. I''ve noticed a huge speed boost after switching to x_send_file. Since you observed that files sent by nginx work on your iPhone, this would allow nginx to do the heavy lifting for you. I know that Lighttpd + Apache support X-Send-File, although I''m not sure about nginx. Hope this helps, Pete On Nov 7, 2007, at 10:43 PM, Alex Egg wrote:> I''m trying to sent a file to the iphone (which requires byte-range > request support) using the rails send_file method. However, this > fails, I think because of mongrel. I think so because if I send the > iphone a file handled by nginx, it plays it fine. But then when I > serve the file with rails the iphone can''t play it. > > Any ideas? > > Alex > _______________________________________________ > Mongrel-users mailing list > Mongrel-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/mongrel-users
On Nov 8, 2007, at 10:43 AM, Pete DeLaurentis wrote:> I know that Lighttpd + Apache support X-Send-File, although I''m not > sure about nginx.It does, though it''s inexplicably called X-Accel-Redirect. http://wiki.codemongers.com/NginxXSendfile http://blog.kovyrin.net/2006/11/01/nginx-x-accel-redirect-php-rails/ -Nate
On 11/7/07, Alex Egg <eggie5 at gmail.com> wrote:> I''m trying to sent a file to the iphone (which requires byte-range > request support) using the rails send_file method. However, this > fails, I think because of mongrel. I think so because if I send the > iphone a file handled by nginx, it plays it fine. But then when I > serve the file with rails the iphone can''t play it.The other suggestions about using x_send_file or the equivalent are the answer, but just to clarify, Mongrel does not currently support byte-range requests. We have discussed adding support for that, however. Kirk Haines
Thank you for the clarification! On 11/8/07, Kirk Haines <wyhaines at gmail.com> wrote:> On 11/7/07, Alex Egg <eggie5 at gmail.com> wrote: > > I''m trying to sent a file to the iphone (which requires byte-range > > request support) using the rails send_file method. However, this > > fails, I think because of mongrel. I think so because if I send the > > iphone a file handled by nginx, it plays it fine. But then when I > > serve the file with rails the iphone can''t play it. > > The other suggestions about using x_send_file or the equivalent are > the answer, but just to clarify, Mongrel does not currently support > byte-range requests. We have discussed adding support for that, > however. > > > Kirk Haines > _______________________________________________ > Mongrel-users mailing list > Mongrel-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/mongrel-users >
Pete DeLaurentis wrote:> Hi Alex, > > Check out the x_send_file plugin. When you use this to send a file, > it just sends the location on disk to the web-server (in a special > HTTP header). > > The webserver then looks up the file + streams it down to the > client. I''ve noticed a huge speed boost after switching to x_send_file. > > Since you observed that files sent by nginx work on your iPhone, this > would allow nginx to do the heavy lifting for you. > > I know that Lighttpd + Apache support X-Send-File, although I''m not > sure about nginx. > > Hope this helps, > PeteHi, is it possible to http-stream seekable mp4 videos with X-Accel-Redirect? Or do I need to add some plugin or other stuff as well? I am targetting the new <video> html5 tag and the iPhone. Cheers, -- Posted via http://www.ruby-forum.com/.