http_gunzip_module

Валентин Бартенев vbart at nginx.com
Wed Dec 26 11:31:34 UTC 2012


On Wednesday 26 December 2012 14:43:45 dwow wrote:
> Ситауция такая:
> 1. если делать так:
> default_type text/html;
> gunzip on;
> gzip_vary on;
> gzip_static always;
> 
> и создать файл t.gz, то все работает отлично
> 
> 2. если пытаться отдать файл через директиву index или try_files, то не
> работает. nginx не подставляет в ответ Content-Encoding из-за чего в
> браузер выдается нераспакованный сжатый контент.  Если Content-Encoding
> подставить жестко для location, то для клиентов неподдерживающих gzip
> разъархивирование не происходит.
> 
> Мне кажется это ошибка.
> 

Без указания того, что именно у вас написано в конфигурации,
как вы тестируете, трудно судить, что это, ошибка или
непонимание как оно работает.

Специально проверил:

    events { }

    http {
        default_type  text/html;
        types {}

        server {
            listen 8000;

            location / {
                try_files $uri $uri/test.html;

                gunzip on;
                gzip_vary on;
                gzip_static always;
            }

            location = /test.html {
                gunzip on;
                gzip_vary on;
                gzip_static always; 
            }
        }
    }


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

% ls
50x.html  index.html  test.html.gz
% zcat test.html.gz                                    
GOOD
% curl -i localhost:8000/test.html
HTTP/1.1 200 OK
Server: nginx/1.3.11
Date: Wed, 26 Dec 2012 11:23:20 GMT
Content-Type: text/html
Last-Modified: Wed, 26 Dec 2012 11:21:46 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding

GOOD
% curl -i localhost:8000/test.html -H "Accept-Encoding: gzip"
HTTP/1.1 200 OK
Server: nginx/1.3.11
Date: Wed, 26 Dec 2012 11:23:50 GMT
Content-Type: text/html
Content-Length: 35
Last-Modified: Wed, 26 Dec 2012 11:21:46 GMT
Connection: keep-alive
Vary: Accept-Encoding
ETag: "50daddca-23"
Content-Encoding: gzip

���Ptest.htmls��w�͒��%                                                                        


--
Валентин Бартенев
http://nginx.com/support.html
http://nginx.org/en/donation.html


Подробная информация о списке рассылки nginx-ru