nginx cache de proxy reverso com conteúdo gzip e conteúdo não-gzip

1

Estou desenvolvendo um serviço da Web rails com ngnix + passenger e uso cache de proxy reverso no nginx. Funciona muito bem e muito rápido. O problema é que alguns clientes não suportam gzip enquanto outros suportam.

O que eu descobri é que o nginx armazena em cache o conteúdo gzip, portanto, se os clientes suportados pelo gzip solicitarem primeiro, então os clientes não-gzip solicitam, o servidor ainda retorna o conteúdo gzip mesmo que o cliente envie o cabeçalho "Accept-Encoding ":" ".

gzip  on;
gzip_http_version 1.0;
gzip_vary on;
gzip_comp_level 6;
gzip_proxied any;
gzip_types text/plain text/css text/javascript application/javascript application/json application/x-javascript text/xml application/xml application/xml+rss;

Você precisa armazená-los em cache separadamente, combinando o request_uri e o cabeçalho 'Accept-Encoding'?

    
por Chamnap 30.03.2011 / 11:31

2 respostas

2

Isso pode ser um bug fixo. Pelo menos eu não observo o comportamento em 0.8.54. Tente atualizar seu nginx se não for o mais recente.

    
por 30.03.2011 / 17:25
1

Você deve adicionar $http_accept_encoding ao seu cache key ou use o módulo gunzip .

    
por 12.09.2012 / 15:11