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.