Назад | Перейти на главную страницу

NGINX gzip_static не работает

У меня есть следующая конфигурация 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;
}

Моя цель - обслуживать статический контент в этой папке в сжатом виде, когда он доступен.

Я, конечно, создал такие файлы, как:

test.js
test.js.gz

Я могу добраться до каждого файла, и все заголовки установлены правильно, а также etags. Однако получение gzip не работает. Например, я тестировал это так:

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

Думаю, это не работает. Я также пробовал слушать:

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

без везения.

И, конечно, если я это сделаю:

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

все работает отлично.

Есть подсказки?

nginx -v = nginx version: nginx/1.8.0 
#--with-http_gunzip_module --with-http_gzip_static_module are present

вы делаете proxy_pass, вот в чем проблема. обслуживайте эти файлы с самого сервера, то есть используя директиву root / some / path, и все должно работать.