Pular para conteúdo

untar: Módulo NGINX HTTP Untar

Instalação

Você pode instalar este módulo em qualquer distribuição baseada em RHEL, incluindo, mas não se limitando a:

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

Ative o módulo adicionando o seguinte no topo de /etc/nginx/nginx.conf:

load_module modules/ngx_http_untar_module.so;

Este documento descreve o nginx-module-untar v1.1 lançado em 21 de março de 2022.


Este módulo nginx pode servir conteúdo de arquivos estáticos diretamente de arquivos tar. Inspirado pelo nginx-unzip-module.

Recursos

  • Zero-copy: saída de conteúdo diretamente do arquivo de arquivo (sem arquivos temporários)
  • Cache de entradas de arquivo de arquivo analisadas: reduz o tempo de busca no arquivo
  • Tipos de itens tar suportados: arquivo normal, dados de nome de arquivo longo

Exemplo de configuração

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

Diretrizes do módulo


untar_archive string

contexto: http, server, location

Especifica o nome do arquivo tar.


untar_file string

contexto: http, server, location

Especifica o arquivo a ser extraído de untar_archive.


untar

contexto: location

Invoca a extração de untar_file de untar_archive


Limitações conhecidas

  • apenas os verbos GET, HEAD são suportados
  • sem listagem de entradas de arquivo
  • suporte ao formato tar base (apenas arquivos normais: sem symlink, sparse etc.)

GitHub

Você pode encontrar dicas adicionais de configuração e documentação para este módulo no repositório do GitHub para nginx-module-untar.