Unbrotli#
O módulo Para instalar o módulo, use um dos seguintes pacotes: Angie: Angie PRO: O módulo fornece as seguintes diretivas: Para usar o módulo, ele deve ser carregado no contexto de Vamos colocar o arquivo de teste comprimido Se o cliente suporta Brotli, ele receberá o arquivo comprimido sem descompressão: Se o cliente não suporta Brotli, o módulo O arquivo foi descomprimido pelo servidor antes de ser enviado ao cliente. Documentação detalhada e código-fonte estão disponíveis em:
clyfish/ngx_unbrotli.unbrotli
é projetado para descomprimir respostas do
backend que usam compressão Brotli (Content-Encoding: br
) para clientes
que não suportam este método de compressão. Isso é particularmente útil em
casos onde armazenar dados em forma comprimida no backend economiza espaço.Instalação#
angie-module-unbrotli
angie-pro-module-unbrotli
Diretivas#
unbrotli
– similar ao gunzip.unbrotli_buffers
– similar ao gunzip_buffers.Carregando o Módulo#
main{}
:load_module modules/ngx_http_unbrotli_filter_module.so;
Exemplo de Configuração#
server {
listen 80 default_server;
location / {
root /usr/share/angie/html;
index index.html;
}
location /storage {
unbrotli on;
proxy_pass http://127.0.0.1:8080;
}
}
# Backend
server {
listen 8080;
location /storage {
root /usr/share/angie;
rewrite ^(.*)$ $1.br break; # Retorna o arquivo comprimido com sufixo .br
add_header Content-Encoding br; # Indica compressão Brotli no cabeçalho de resposta
}
}
Demonstração#
war-and-peace.txt.br
:$ ls -l /usr/share/angie/storage/
total 2292
-rw-r--r-- 1 root root 1115616 Feb 27 16:10 war-and-peace.txt.br
$ curl -s -H 'Accept-Encoding: br' -o tmp/war-and-peace.txt localhost/storage/war-and-peace.txt
$ ls -l tmp/
total 1092
-rw-r--r-- 1 asv asv 1115616 Feb 27 16:36 war-and-peace.txt
unbrotli
descomprimirá o arquivo no servidor antes de enviar:$ curl -s -o tmp/war-and-peace.txt localhost/storage/war-and-peace.txt
$ ls -l tmp/
total 3284
-rw-r--r-- 1 asv asv 3359405 Feb 27 16:39 war-and-peace.txt
Informações Adicionais#