Nginx è un server web open-source che ha conquistato il cuore di molti amministratori e sviluppatori grazie alle sue prestazioni efficienti, al basso consumo di memoria e al potente supporto per vari protocolli. Oggi parleremo della configurazione del supporto HTTP/2 in Nginx.
HTTP/2 è un’evoluzione del protocollo HTTP che migliora il trasferimento dei dati tra il server e l’utente. Sostituisce l’HTTP 1.1, che aveva un limite al numero di connessioni simultanee e quindi rallentava il caricamento di pagine pesanti. HTTP/2 risolve questo problema consentendo il caricamento parallelo dei dati e la compressione delle intestazioni HTTP.
Perché è importante il passaggio a HTTP/2?
Il passaggio a HTTP/2 non solo velocizza il caricamento del sito web, ma aumenta anche la sicurezza della trasmissione dei dati. Tutti i browser moderni richiedono ai siti web di utilizzare HTTPS per supportare HTTP/2, che rende più sicura la trasmissione dei dati tra il server e i visitatori.
Il processo di transizione a HTTP/2
Prima di iniziare a configurare HTTP/2 , è necessario disporre di un server con Ubuntu 18.04 e Nginx installato. Inoltre, il vostro nome di dominio deve essere puntato al server e deve essere installato un certificato SSL (ad esempio, Let’s Encrypt) per questo dominio.
1. Impostazione del server
Aprite il file di configurazione del vostro dominio:
vim /etc/nginx/sites-available/il_tuo_dominio
Aggiungere il supporto HTTP/2 per le connessioni IPv6 e IPv4:
listen [::]:443 ssl hp2 ipv6only=on;
ascoltare 443 ssl http2;
Salvare le modifiche e verificare la sintassi:
nginx -t
2. Miglioramento della sicurezza
Per migliorare la sicurezza, escludere i cifrari non sicuri. Nel file di configurazione del dominio, modificare l’opzione ssl_ciphers:
ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
Controllare la sintassi e riavviare il server:
nginx -t
systemctl restart nginx.service
3. Aggiunta della sicurezza del trasporto HTTP (HSTS)
Per una sicurezza ancora maggiore, aggiungere l’intestazione HTTP Strict Transport Security al file di configurazione di Nginx. Questa intestazione garantisce che i browser utilizzino solo connessioni HTTPS.
Nel file di configurazione di Nginx:
add_header Strict-Transport-Security "max-age=15768000; includeSubDomains" sempre;
Controllare la sintassi e riavviare il server.
4. Verifica del corretto funzionamento di HTTP/2.
È possibile testare HTTP/2 utilizzando il comando curl:
curl -I -L https://ваш_домен
La risposta del server deve menzionare HTTP/2.
È inoltre possibile utilizzare Google Chrome e gli strumenti per gli sviluppatori per verificare la presenza del supporto HTTP/2.
Ora il vostro sito web è pronto per lavorare con HTTP/2, una versione più veloce e sicura del protocollo HTTP 🚀.
Ricordate di mantenere sempre il vostro server aggiornato e sicuro. Buona fortuna!!!!
Leggi anche:
- Scegliere il miglior sistema operativo per il server: CentOS vs Ubuntu
- Che cosa sono la memoria garantita e lo SWAP? Quali sono le differenze
- Cos’è un server VDS/VPS e come scegliere il migliore
Domande e risposte
HTTP/2 offre una serie di vantaggi, tra cui il miglioramento delle prestazioni grazie a funzioni come il multiplexing e la compressione delle intestazioni, una maggiore sicurezza grazie alla crittografia integrata e un migliore supporto per le moderne tecnologie web
Sì, l’abilitazione di SSL/TLS è essenziale quando si configura il supporto HTTP/2 per garantire una comunicazione sicura tra client e server. La crittografia SSL/TLS protegge i dati sensibili da intercettazioni e accessi non autorizzati.
Sebbene sia tecnicamente possibile configurare il supporto HTTP/2 su versioni precedenti di Ubuntu, come la 16.04, si consiglia di utilizzare Ubuntu 18.04 o successive per una compatibilità e un supporto ottimali.
È possibile verificare se HTTP/2 è abilitato sul server Nginx utilizzando strumenti come curl o servizi di test HTTP/2 online. In alternativa, l’esame dei log del server Nginx può dare un’idea della versione del protocollo utilizzata dalle connessioni client.
L’abilitazione del supporto HTTP/2 può richiedere un po’ più di risorse del server rispetto a HTTP/1.1, a causa della maggiore complessità del protocollo. Tuttavia, i vantaggi in termini di prestazioni sono generalmente superiori ai requisiti minimi di risorse.
Sì, se necessario è possibile tornare a HTTP/1.1 modificando le impostazioni di configurazione di Nginx. Tuttavia, si consiglia di testare a fondo la compatibilità e le prestazioni del sito web prima di apportare qualsiasi modifica.