Saltar a contenido

unbrotli: Descomprime respuestas codificadas en Brotli para clientes que no lo soportan

Instalación

Puedes instalar este módulo en cualquier distribución basada en RHEL, incluyendo, pero no limitado a:

  • RedHat Enterprise Linux 7, 8, 9 y 10
  • CentOS 7, 8, 9
  • AlmaLinux 8, 9
  • Rocky Linux 8, 9
  • Amazon Linux 2 y Amazon Linux 2023
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install nginx-module-unbrotli
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-unbrotli

Habilita el módulo añadiendo lo siguiente en la parte superior de /etc/nginx/nginx.conf:

load_module modules/ngx_http_unbrotli_filter_module.so;

Este documento describe nginx-module-unbrotli v0.0.2 lanzado el 18 de diciembre de 2024.


El ngx_unbrotli es un módulo de filtro que descomprime respuestas codificadas con Brotli (Content-Encoding: br) para clientes que no soportan Brotli. Al almacenar respuestas en formato Brotli, puedes ahorrar en costos de almacenamiento y E/S, y este módulo asegura que los clientes que no pueden manejar Brotli aún reciban el contenido descomprimido apropiado.

Ejemplo de Configuración

location /storage/ {
    unbrotli on;
    unbrotli_buffers 32 4k;
    ...
}

Directivas de configuración

unbrotli

  • sintaxis: unbrotli on | off;
  • predeterminado: off
  • contexto: http, server, location

Habilita o deshabilita la descompresión de respuestas comprimidas en Brotli (Content-Encoding: br) para clientes que no soportan Brotli. Cuando unbrotli está habilitado, el servidor verifica las capacidades del cliente (similar a cómo se maneja gzip) para determinar si se necesita descompresión.

unbrotli_force

  • sintaxis: unbrotli_force on | off;
  • predeterminado: off
  • contexto: http, server, location

Fuerza la descompresión de respuestas comprimidas en Brotli, incluso si el cliente indica soporte para Brotli. Cuando unbrotli_force está on, todas las respuestas codificadas en Brotli se descomprimen antes de ser enviadas al cliente, independientemente del encabezado Accept-Encoding del cliente.

unbrotli_buffers

  • sintaxis: unbrotli_buffers number size;
  • predeterminado: depende del tamaño de la página del sistema, comúnmente: unbrotli_buffers 32 4k; o unbrotli_buffers 16 8k;
  • contexto: http, server, location

Establece el número y tamaño de los buffers utilizados para descomprimir respuestas Brotli. Típicamente, el tamaño es igual a una página de memoria (4 KB o 8 KB, dependiendo de la plataforma). Aumentar el número o tamaño de estos buffers puede mejorar el rendimiento para respuestas grandes a costa de un mayor uso de memoria.

GitHub

Puedes encontrar consejos de configuración adicionales y documentación para este módulo en el repositorio de GitHub para nginx-module-unbrotli.