Welcome! Log In Create A New Profile

Advanced

Re: Как заставить ngx http gzip static module работать правильно?

Maxim Dounin
February 17, 2010 07:08AM
Hello!

On Tue, Feb 16, 2010 at 05:48:35PM -0500, chs wrote:

> Нужно грузить заранее заархивированные файлы, а если требуемого файла нет, то тогда передвать запрос на бэкенд .
> Но проблема в том, что в моём варианте Content-Encoding: gzip не добавляется и в браузер выводится зазипованный контент
>
> Что я делаю не так?
>
> server {
> .....
> gzip_static on;
>
> location / {
>
> try_files /cache/$uri.gz @test;

gzip_static добавляет '.gz' к URI сам, и только если клиент
поддерживает gzip. Т.е. ему для работы нужно два файла
- обычный и .gz.

try_files в свою очередь тоже меняет uri на соответствующий
найденному файлу.

Т.е. для запроса /file будет так:

1. try_files найдёт /cache/file.gz и поменяет uri на /cache/file.gz

2. gzip_static попытается искать /cache/file.gz.gz, не найдёт и от запроса
откажется

3. static отдаст file.gz

Чтобы всё работало - нужно иметь на диске не-gz файлы и
проверять их существование, как-то так:

location / {
root /path/to/cache;
gzip_static on;
try_files $uri @fallback;
}

либо не использовать try_files, а делать fallback по 404, как-то
так:

location / {
root /path/to/cache;
gzip_static on;
error_page 404 = @fallback;
}

Maxim Dounin

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Re: Как заставить ngx http gzip static module работать правильно?

Maxim Dounin February 17, 2010 07:08AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 130
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready