2012-01-02 2 views
3

레일즈 애플리케이션을 실행하는 Amazon Linux EC2 서버에 nginx + 승객이 설치되어 있습니다. 응용 프로그램이 JSON 응답을 생성합니다. I는 GZIP 있도록 시도nginx + passenger에서 gzip이 작동하지 않습니다.

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

하지만 반응은 아직 압축되지 :

JSON 응답 길이 헤더로 렌더링된다. 나는 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

나는 제대로 작동이, (텍스트/자바 스크립트) 해결

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

죄송 루비 온 레일즈에 대해 같은이 필요합니다. 나는 다른 경우에 도움이 될 것이라고 확신합니다. 아마 다른 부분이 올바르게 구성되지 않았을 것입니다. 도움이된다면 nginx는 업스트림 fcgi 응용 프로그램에도 구성됩니다. –

0

미스터리를 추가하려고합니다. php script은 신뢰할 수 없습니다.

이 신뢰성 :

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

는 압축 된 버전을 가져옵니다.

Chrome 및 Charles 스니퍼를 테스트하면 모든 것이 정상적으로 작동한다는 것을 알게되었습니다.

1

gzip_types works! 내 경우에는, 응용 프로그램/자바 스크립트는 여전히

gzip_types text/plain text/css application/javascript application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; 
관련 문제