gzip не работает в nginx + passenger - PullRequest
3 голосов
/ 02 января 2012

У меня установлен сервер nginx + на сервере Amazon Linux EC2, на котором запущено приложение Rails. Приложение выдает ответы в формате JSON.

Ответ JSON отображается с заголовком длины:

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

Я попытался включить 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;

Ответы [ 3 ]

7 голосов
/ 02 января 2012

У меня все работает нормально, попробуйте добавить (text / javascript)

gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
1 голос
/ 01 августа 2017

gzip_types работает!В моем случае application / javascript также требуется для Ruby on Rails

gzip_types text/plain text/css application/javascript application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
0 голосов
/ 03 января 2012

Тайна раскрыта. php скрипт не надежен.

Это надежно:

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

Получает сжатую версию.

Тестирование с помощью Chrome и сниффера Чарльза убедило меня, что все работает нормально.

...