2012-01-02 11 views
3

Railsアプリケーションを実行しているAmazon Linux EC2サーバーにnginx +パッセンジャーがインストールされています。このアプリケーションはJSON応答を生成します。nginx +パッセンジャーでgzipが動作しない

JSON応答が長ヘッダでレンダリングされる:

# test_controller.rb 
# result contains a large 400k JSON string 
headers["Content-Length"] = result.size.to_s 
render :json => result 

IはGZIPを有効にしようとしたが、応答はまだ圧縮されていません。私はGIDZipTestでそれをチェックした。

# nginx.conf 
gzip on; 
gzip_http_version 1.1; 
gzip_comp_level 1; 
gzip_proxied any; 
gzip_vary on; 
gzip_min_length 500; 
gzip_types application/x-javascript application/json; 

答えて

7

は、私はそれが正常に動作してい、(テキスト/ javascriptの)解決

gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; 
+0

申し訳Ruby on Railsのために同じ必要。私はそれが他の場合に役立つかもしれないと確信しています、おそらく他の何かが正しく構成されていません。それが助けであれば - nginxは上流のfcgiアプリケーションにも設定されています。 –

0

ミステリーを追加してみてください。 php scriptは信頼できません。

これは信頼性がある:

wget --header="accept-encoding: gzip" URL 

は、圧縮されたバージョンを取得します。

クロムとチャールズのスニファを使ったテストで、すべてがうまくいきました。

1

gzip_types works!私の場合は、アプリケーション/ javascriptのもまだ、

gzip_types text/plain text/css application/javascript application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; 
関連する問題