Unbrotli#
El módulo Para instalar el módulo, utilice uno de los siguientes paquetes: Angie: Angie PRO: El módulo proporciona las siguientes directivas: Para utilizar el módulo, debe cargarse en el contexto de Coloquemos el archivo de prueba comprimido Si el cliente soporta Brotli, recibirá el archivo comprimido sin descompresión: Si el cliente no soporta Brotli, el módulo El archivo fue descomprimido por el servidor antes de ser enviado al cliente. La documentación detallada y el código fuente están disponibles en:
clyfish/ngx_unbrotli.unbrotli
está diseñado para descomprimir respuestas del
backend que utilizan compresión Brotli (Content-Encoding: br
) para clientes
que no soportan este método de compresión. Esto es particularmente útil en
casos donde almacenar datos en forma comprimida en el backend ahorra espacio.Instalación#
angie-module-unbrotli
angie-pro-module-unbrotli
Directivas#
unbrotli
– similar a gunzip.unbrotli_buffers
– similar a gunzip_buffers.Carga del módulo#
main{}
:load_module modules/ngx_http_unbrotli_filter_module.so;
Ejemplo de configuración#
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; # Devuelve el archivo comprimido con sufijo .br
add_header Content-Encoding br; # Indica compresión Brotli en la cabecera de respuesta
}
}
Demostración#
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á el archivo en el servidor antes de enviarlo:$ 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
Información adicional#