chrome_reader_mode

Metti in mostra la tua personalizzazione Linux help_outline Maggiori informazioni

linux/hub è molto più di quel che vedi! info_outline Leggi le intenzioni

🔧 #howto - Abilitare la compressione Brotli in Nginx su Centos 7

Scritto da Mirko Brombin il Mar, 01/22/2019 - 14:38
Mar, 01/22/2019 - 14:38
#howto
nginx
centos
In questa pagina
  • Caricamento..

Brotli è un algoritmo di compressione sempre più difuso nei browser moderni. Questo algoritmo offre prestazioni maggiori rispetto Gzip, parliamo di quasi il 40% di ottimizzazione della compressione, oltre che un miglioramento delle prestazioni necessarie per l'impiego.

Attenzione, nel caso in cui la tua installazione di Nginx è stata compilata manualmente da sorgente, si prega di far riferimento a questa guida.

Possiamo abilitare la compressione Brotli in Nginx grazie ad un modulo messo a disposizione dallo stesso team di pagespeed.

Requisiti

  • Nginx 1.9.5 con abilitazione --compat (vediamo l'installazione in questa guida)
  • Repository pagespeed

Installazione

L'installazione è facilitata dalla messa a disposizione di una repository dedicata, per sistemi RHEL. Procediamo quindi con l'installazione della repository via yum:

yum install https://extras.getpagespeed.com/release-el7-latest.rpm

e la consecutiva installazione di nginx e del modulo:

yum install nginx nginx-module-nbr

consiglio di leggere la nostra guida per la fase di configurazione dei blocchi server{}.

Nel caso delle installazioni nginx con build da sorgente, bisogna tenere in considerazione che la compilaione deve avvenire con la flag --compat, altrimenti non sarà possibile eseguire moduli dinamici. Le versioni più recenti distribuite precompilate dovrebbero essere già compatibili.

Abilitazione modulo

Una volta installati i requisiti proseguiamo con il caricamento del modulo. A seconda della posizione del vostro file di configurazione nginx.conf, di norma in locazioine /etc/nginx/nginx.conf, aggiungiamo i seguenti moduli:

load_module modules/ngx_http_brotli_filter_module.so;
load_module modules/ngx_http_brotli_static_module.so;

e riavviamo il processo:

systemctl restart nginx

Configurazione

Una volta percorsi i precedenti passaggi, possiamo abilitare la compressione, semplicemente aggiungendo la configurazione Brotli nei server{} block dei siti web a cui vogliamo venga applicato il nuovo algoritmo. Nel nostro caso per il_mio_dominio.ex:

server {
    ..
    server_name  il_mio_dominio.ex www.il_mio_dominio.ex;
    ..

    brotli on;
    brotli_types text/xml image/svg+xml application/x-font-ttf image/vnd.microsoft.icon application/x-font-opentype application/json font/eot application/vnd.ms-fontobject application/javascript font/otf application/xml application/xhtml+xml text/javascript  application/x-javascript text/plain application/x-font-truetype application/xml+rss image/x-icon font/opentype text/css image/x-win-bitmap;
    
    ..
    location / {
        ..
    }
    ..
}

dove:

  • brotli on - è l'effettiva abilitazione del modulo
  • brotli_types - sono i tipi di file per cui verrà abilitata la compressione

Ricordiamo di riavviare il processo nginx dopo l'abilitazione (in generale ad ogni modifica di configurazione).

Verifica

Se tutti i passaggi sono stati seguiti alla lettera, possiamo effettuare l'effettiva abilitazione via curl:

curl -IL https://il_mio_dominio.ex -H "Accept-Encoding: br"

se il risultato è HTTP/1.1 200 OK, la compressione è effettivamente attiva.

Good *nix
 - Mirko

Etichette
remove_red_eye