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