2015-01-07 3 views
1

CentOS 6에서 실행중인 tomcat 7.0.56과 CentOS 6에서 실행중인 Varnish 4가 있습니다. Varnish는 우리에게 두 가지 중요한 일을해야합니다. 즉, 역방향 프록시 (매력처럼 작동)가되어 압축 할 수있는 모든 데이터를 압축합니다. 우리는 우리 아키텍처에서 캐싱에 신경 쓰지 않습니다. 두 번째 사항에는 문제가 있습니다. gzip gzip CSS 및 JS 및 gzip html을 사용하지 마십시오. 내 default.vcl에서 그림, swf 또는 모바일 용으로 설계된 내 페이지를 압축하지 않으며 다른 모든 것들에 대해 beresp.do_gzip을 true로 설정합니다.Varnish gzip html 페이지가 없습니다

vcl_recv :

sub vcl_recv { if (req.http.Accept-Encoding) { if (req.url ~ "\.(jpg|png|gif|gz|tgz|bz2|tbz|mp3|ogg|swf)$" || req.url ~ "Mobile\.") { unset req.http.Accept-Encoding; } elsif (req.http.Accept-Encoding ~ "gzip") { set req.http.Accept-Encoding = "gzip"; } elsif (req.http.Accept-Encoding ~ "deflate" && req.http.user-agent !~ "MSIE") { set req.http.Accept-Encoding = "deflate"; } else { # unkown algorithm unset req.http.Accept-Encoding; } } set req.backend_hint = h.backend(client.identity); }

vcl_backend_response : 니스 지나가는

sub vcl_backend_response { 

if (beresp.http.url ~ "\.(jpg|png|gif|gz|tgz|bz2|tbz|mp3|ogg|swf)$" || beresp.http.url ~ "Mobile\.") { 
    set beresp.do_gzip = false; 
} 
else { 
    set beresp.do_gzip = true; 
    set beresp.http.X-Cache = "ZIP"; 
}} 

모든 스트림은 제대로 HTML 페이지를 제외하고 gzip으로 압축된다. 그러나이 페이지들은 헤더가 거의 정확합니다.

요청 헤더 응답 헤더가

Accept-Ranges:bytes Age:0 Cache-Control:no-store,no-cache Connection:keep-alive Content-Language:fr-FR Content-Type:text/html;charset=UTF-8 Date:Wed, 07 Jan 2015 14:55:04 GMT Expires:0 MII:1800 Pragma:no-store,no-cache Server:Apache-Coyote/1.1 Set-Cookie:UUID=631a2947-...e25; Version=1; Max-Age=10000; Expires=Wed, 07-Jan-2015 17:41:44 GMT; Path=/gce162 Transfer-Encoding:chunked Vary:Accept-Encoding Via:1.1 varnish-v4 X-Cache:ZIP X-Varnish:163870

우리는 값 우편으로 태그 X-캐시를 볼 수 있습니다, 태그에 따라 달라

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Encoding:gzip, deflate, sdch Accept-Language:fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4 Cache-Control:no-cache Connection:keep-alive Cookie:JSESSIONID=F116C2729E96D2150EEEACEB90F95EA9.node1; UUID=631a2947-14ac4e00ca6-0233de72a654bb34bce4a88d9e172e25 Host:tomcat.domain.tld Pragma:no-cache Referer:http://tomcat.domain.tld/path/to/ServletControl?sourceview=liste_menu User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36

동의를 인코딩 Content-Encoding "gzip"은 없습니다. 왜 바니쉬가 html을 gzip으로 처리하지 않고 Vary = accept-Encoding 태그를 쓰는지 이해할 수 없습니까?

어떤 도움을 환영합니다. 고맙습니다.

Baddou는

답변