Re: Сжимать gzip контент отданный модулем

Maxim Dounin mdounin на mdounin.ru
Ср Мар 16 18:43:54 MSK 2011


Hello!

On Wed, Mar 16, 2011 at 12:46:29AM -0400, Fly3110 wrote:

> В том и проблема, что не работает...
> 
>     location = /ng {
>         my_flv;.
>         gzip on;.
>         root /var/www/files;.
>         gzip_http_version 1.1;
>         gzip_min_length   10;
>         gzip_types        text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript application/x-msdownload;
>         gzip_vary         on;
>         gzip_proxied      any;
>         gzip_disable      "MSIE [1-6]\.";
>         gzip_comp_level   9;
>         gzip_static off;
>     }
>  
> файлы отдаются с Content-type: application/x-msdownload, в 
> хедерах ответа нет ничего про gzip (в хедерах запроса есть его 
> поддержка), и контент, соответственно, отдается несжатым

Наиболее частая причина проблем "не работает gzip" - неправильное 
тестирование.  В частности, надо убедиться, что для запроса 
используется протокол HTTP/1.1 (ибо gzip_http_version стоит 1.1).  
Кроме того, не надо верить заголовкам, который сообщает браузер.  
Делать запросы руками через telnet/nc, либо смотреть трафик руками 
через tcpdump/wireshark.

Для собственного модуля есть ещё теоретическая вероятность что 
Content-Type поставлен неправильно.  Если его просто запихнуть в 
r->headers_out.headers как обычный заголовок - счастья не будет.  Надо 
ставить через r->headers_out.content_type / content_type_len. 

Maxim Dounin



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