http_gunzip_module

Валентин Бартенев vbart at nginx.com
Wed Dec 26 12:00:09 UTC 2012


On Wednesday 26 December 2012 15:39:12 dwow wrote:
> А что у вас покажут вот эти две команды при вашей конфигурации?
> 
> curl -i localhost:8000/
> curl -i localhost:8000/ -H "Accept-Encoding: gzip"
> 

Из-за лишнего слеша в try_files покажет 500-ую в обоих случаях,
но если слегка исправить:

    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; 
            }
        }
    }


% curl -i localhost:8000/                           
HTTP/1.1 200 OK
Server: nginx/1.3.11
Date: Wed, 26 Dec 2012 11:51:36 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/ -H "Accept-Encoding: gzip"
HTTP/1.1 200 OK
Server: nginx/1.3.11
Date: Wed, 26 Dec 2012 11:51:39 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�͒��%                                                                        


Чтобы избежать появления 500-ой ошибки при других несуществующих запросах,
лучше переписать конфигурацию так:

    location / {
        try_files $uri /test.html;

        gunzip on;
        gzip_vary on;
        gzip_static always;
    }

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

если функциональность индекса нужна во множестве директорий, то так:

    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; 
    }

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


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