Aller au contenu

untar: NGINX HTTP Untar Module

Installation

Vous pouvez installer ce module dans n'importe quelle distribution basée sur RHEL, y compris, mais sans s'y limiter :

  • RedHat Enterprise Linux 7, 8, 9 et 10
  • CentOS 7, 8, 9
  • AlmaLinux 8, 9
  • Rocky Linux 8, 9
  • Amazon Linux 2 et 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

Activez le module en ajoutant ce qui suit en haut de /etc/nginx/nginx.conf :

load_module modules/ngx_http_untar_module.so;

Ce document décrit nginx-module-untar v1.1 publié le 21 mars 2022.


Ce module nginx peut servir le contenu de fichiers statiques directement à partir d'archives tar. Inspiré par nginx-unzip-module.

Fonctionnalités

  • Zero-copy : sort le contenu directement du fichier d'archive (pas de fichiers temporaires)
  • Mise en cache des entrées de fichiers d'archive analysées : réduit le temps de recherche dans l'archive
  • Types d'éléments tar supportés : fichier normal, données de nom de fichier long

Exemple de configuration

  location ~ ^/(.+?\.tar)/(.*)$ {
      untar_archive "$document_root/$1";
      untar_file "$2";
      untar;
  }

Directives du module


untar_archive string

contexte : http, server, location

Spécifie le nom de l'archive tar.


untar_file string

contexte : http, server, location

Spécifie le fichier à extraire de untar_archive.


untar

contexte : location

Invoque l'extraction de untar_file à partir de untar_archive


Limitations connues

  • seuls les verbes GET, HEAD sont supportés
  • pas de liste des entrées d'archive
  • support du format tar de base (uniquement des fichiers normaux : pas de symlink, sparse, etc.)

GitHub

Vous pouvez trouver des conseils de configuration supplémentaires et de la documentation pour ce module dans le dépôt GitHub pour nginx-module-untar.