Назад | Перейти на главную страницу

Как обслуживать текстовые файлы giziped с помощью nginx

Чтобы сэкономить место, мы сжимаем все наши журналы и текстовые файлы, и эти файлы просматриваются пользователем, но эти файлы загружаются, а не открываются в браузере, я не мог найти способ установить mime-тип text/plain для таких файлов, например это не работает

types {
    text/plain txt txt.gz log.gz
}

Так есть ли способ в nginx сказать txt.gz и log.gz файлы должны служить text/plain ?

Это сработало для меня, в основном совпадение местоположения на основе txt.gz расширение, а затем для таких файлов установите правильную кодировку и тип mime:

location ~* /my/data/.*txt.gz$ {
    add_header  Content-Encoding  gzip;
    gzip off;
    types { text/plain gz; };
    root /;
}

Настроить nginx gzip_static

пример:

location / {
gzip_static on
}

http://nginx.org/en/docs/http/ngx_http_gzip_static_module.html

Nginx не может просто распаковать эти файлы перед их обслуживанием. Вам понадобится какой-то сценарий, который сделает это за вас, а затем предоставит результаты пользователю. Попытка принудительно использовать файл .gz в виде текста приведет к выводу мусора.