untar: Модуль NGINX HTTP Untar
Установка
Вы можете установить этот модуль в любой дистрибутив на базе RHEL, включая, но не ограничиваясь:
- RedHat Enterprise Linux 7, 8, 9 и 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 и Amazon Linux 2023
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install nginx-module-untar
yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install nginx-module-untar
Включите модуль, добавив следующее в верхнюю часть файла /etc/nginx/nginx.conf:
load_module modules/ngx_http_untar_module.so;
Этот документ описывает nginx-module-untar v1.1, выпущенный 21 марта 2022 года.
Этот nginx модуль может обслуживать статическое содержимое файлов напрямую из архивов tar. Вдохновлен nginx-unzip-module.
Особенности
- Нулевая копия: выводит содержимое напрямую из архивного файла (без временных файлов)
- Кэширование разобранных записей архивного файла: сокращает время поиска в архиве
- Поддерживаемые типы элементов tar: обычный файл, данные с длинным именем файла
Пример конфигурации
location ~ ^/(.+?\.tar)/(.*)$ {
untar_archive "$document_root/$1";
untar_file "$2";
untar;
}
Директивы модуля
untar_archive string
контекст: http, server, location
Указывает имя tar-архива.
untar_file string
контекст: http, server, location
Указывает файл, который нужно извлечь из untar_archive.
untar
контекст: location
Вызывает извлечение untar_file из untar_archive
Известные ограничения
- поддерживаются только методы GET, HEAD
- нет списка записей архива
- поддержка базового формата tar (только обычные файлы: без символических ссылок, разреженных и т.д.)
GitHub
Вы можете найти дополнительные советы по конфигурации и документацию для этого модуля в репозитории GitHub для nginx-module-untar.