2012-01-06 5 views
0

私のスタックはUbuntu、Nginx 1、Unicornです。 Nginxに静的コンテンツのプリコンパイルgzipを提供させたい。nginx:gizip_static:動作していないようです。

関連nginxの設定ファイル:

location ~ ^/assets/ { 
    gzip_static on; 
    gzip_http_version 1.1; 
    gzip_proxied  expired no-cache no-store private auth; 
    gzip_disable  "MSIE [1-6]\."; 
    gzip_vary   on; 
    expires 24h; 
    add_header Cache-Control public; 
} 

その後、私は、彼らが要求されていたかどうかを確認するためにstraceのを走った別のSFの質問から、結果:

open("/media/sf_ape/public/assets/application-ae30e133eabbb10d9464189d3fb71e25.js.gz", O_RDONLY|O_NONBLOCK|O_LARGEFILE) = 9 

が、私はこのファイルが存在を確認しました。ただし、アクセスログを見ると、.gzファイルではなく、通常の.jsファイルが配信されます。私は、要求されたヘッダがgzipを指定し、応答ヘッダがgzipを表示していることを確認しました。私はかなりのグーグルを探せましたが、私はこれまでのところ私の問題に対する答えは見つけられませんでした。私はどこかでそれを逃したかもしれないが、どんな助けも認められるだろう。

+0

奇妙な音、静的なファイルを提供しているはずです。 –

+0

ファイルを提供します。しかし、同じタイムスタンプを持つディレクトリにあるgzipバージョンは提供されません – loneaggie

+0

それでも見知らぬ人です。 –

答えて

0

私はこれを最終的に考え出しました。 rakeアセットを実行すると、すべての静的アセットがコンパイルされ、/ publicに移動されます。このトリックは、たとえば.jsと.js.gzが全く同じタイムスタンプを持つことです。 * .gzに触れると、すべてが正しく機能しました。誰かに時間を節約することを願っています。

関連する問題