Posted on 2010年11月22日 Posted by ちゅう コメントする Posted in Development Tags: nginx, Rails Nginx で認証つきで大容量ファイルをダウンロードさせたい時は、X-Accel-Redirect を使います。Rails のファイル操作を介さず、Nginxで直接クライアントへデータを送れます。Lighttpd とか Apache でいうところの、X-sendfile と同じような感じでしょうか。 Lighttpd の場合はこちら -> Rails&Lighttpdで大容量ファイルをダウンロード【変なヤバいもんログ内】 ヘッダに、X-Accel-Redirect でパスを指定して、そのパスを Nginx 側で受けるだけですinternal って付けるのがポイントです。そうすると、このように内部からしか参照できなくなります。
![Nginx の X-Accel-Redirect を Rails で使う | 変なヤバいもんログ](https://cdn-ak-scissors.b.st-hatena.com/image/square/2bb579ca026c1eecce39f8b35818ed91d3490d63/height=288;version=1;width=512/https%3A%2F%2Fecpplus.net%2Fweblog%2Fwp-content%2Fuploads%2F2011%2F08%2Fruby_on_rails.png)