NGINX gzip_static não está funcionando

1

Eu tenho o seguinte conf nginx:

location ~* ^/assets/ {
    add_header Access-Control-Allow-Headers content-type;
    add_header Access-Control-Allow-Origin *;
    add_header Cache-Control "public, max-age=31536000";
    proxy_pass http://nas-mydomain.com;
    proxy_next_upstream http_500 timeout;
    gzip_http_version 1.0;
    gzip_static always;
    gzip_vary on;
    etag on;
}

Meu objetivo é veicular o conteúdo estático nessa pasta no formato compactado, quando disponível.

Eu, claro, criei arquivos como:

test.js
test.js.gz

Eu posso alcançar cada arquivo e todos os cabeçalhos estão corretamente definidos, bem como os etags. No entanto, a recuperação do gzip não está funcionando. Por exemplo, eu testei assim:

curl -H "Accept-Encoding: gzip" http://domain.com/assets/test.js | gunzip
## Cutted useless output
gunzip: unknown compression format

Então eu acho que não está funcionando. Eu também tentei ouvir com:

strace -p pid1 -p pid2 -p pid3.... 2>&1 | grep gz

sem sorte.

E, claro, se eu fizer isso:

curl http://domain.com/assets/test.js.gz | gunzip
## Cutted useless output

tudo funciona perfeitamente.

Alguma dica?

nginx -v = nginx version: nginx/1.8.0 
#--with-http_gunzip_module --with-http_gzip_static_module are present
    
por Andrea Ferraresi 15.07.2015 / 16:52

1 resposta

0

você está fazendo proxy_pass, esse é o problema. servir esses arquivos do próprio servidor, ou seja, usando a diretiva "root / some / path", e tudo deve funcionar.

    
por 15.07.2015 / 18:47