untar: Módulo NGINX HTTP Untar
Instalación
Puedes instalar este módulo en cualquier distribución basada en RHEL, incluyendo, pero no limitado a:
- RedHat Enterprise Linux 7, 8, 9 y 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 y 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
Habilita el módulo añadiendo lo siguiente en la parte superior de /etc/nginx/nginx.conf:
load_module modules/ngx_http_untar_module.so;
Este documento describe nginx-module-untar v1.1 lanzado el 21 de marzo de 2022.
Este módulo nginx puede servir contenido de archivos estáticos directamente desde archivos tar. Inspirado por nginx-unzip-module.
Características
- Zero-copy: salida de contenido directamente desde el archivo de archivo (sin archivos temporales)
- Caché de entradas de archivos de archivo analizados: reduce el tiempo de búsqueda en el archivo
- Tipos de elementos tar soportados: archivo normal, datos de nombre de archivo largo
Ejemplo de configuración
location ~ ^/(.+?\.tar)/(.*)$ {
untar_archive "$document_root/$1";
untar_file "$2";
untar;
}
Directivas del módulo
untar_archive string
contexto: http, server, location
Especifica el nombre del archivo tar.
untar_file string
contexto: http, server, location
Especifica el archivo que se extraerá de untar_archive.
untar
contexto: location
Invoca la extracción de untar_file desde untar_archive
Limitaciones conocidas
- solo se soportan los verbos GET, HEAD
- no hay listado de entradas de archivo
- soporte para formato tar base (solo archivos normales: sin symlink, sparse, etc.)
GitHub
Puedes encontrar consejos de configuración adicionales y documentación para este módulo en el repositorio de GitHub para nginx-module-untar.