Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Как заставить ngx http gzip stat ic module работать правильно ?
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@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|