Saltar a contenido

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.