HTTP/2 è lo standard più recente per HTTP protocollo, è il successore di HTTP/1.1 . Sta diventando sempre più popolare grazie ai vantaggi che offre agli sviluppatori web e agli utenti in generale. Fornisce un trasporto ottimizzato per la semantica HTTP supportando tutte le funzionalità principali di HTTP/1.1 ma mira a essere più efficiente in diversi modi.
Ci sono molte funzioni oltre a HTTP/2 che ti danno maggiori possibilità di ottimizzare un sito web/applicazione. Offre multiplexing e concorrenza reali, una migliore compressione dell'intestazione (codifica binaria), una migliore definizione delle priorità, migliori meccanismi di controllo del flusso e una nuova modalità di interazione chiamata "server push ” che consente a un server di inviare le risposte a un client. Per non parlare di HTTP/2 si basa su SPDY sperimentale di Google protocollo.
Pertanto, l'obiettivo principale di HTTP/2 è quello di ridurre il tempo complessivo di caricamento della pagina web, migliorando così le prestazioni. Si concentra anche sull'utilizzo delle risorse di rete e server, nonché sulla sicurezza perché, con HTTP/2 , SSL/TLS la crittografia è obbligatoria.
In questo articolo imparerai come abilitare Nginx con HTTP/2 supporto nei server Linux.
Prerequisiti:
- Un'installazione funzionante di NGINX versione 1.9.5 o superiore, creato con il ngx_http_v2_module modulo.
- Assicurati che il tuo sito utilizzi il certificato SSL/TLS, se non ne hai uno puoi ottenerlo da Let's Encrypt o utilizzare un certificato autofirmato.
Puoi installare NGINX o implementalo con un LEMP impilare come descritto nelle seguenti guide:
- Come installare Nginx su CentOS 8
- Come installare il server LEMP su CentOS 8
- Come installare NGINX, MySQL/MariaDB e PHP su RHEL 8
- Come installare lo stack LEMP con PhpMyAdmin in Ubuntu 20.04
- Installa Nginx con Server Blocks (host virtuali) su Debian 10
- Come utilizzare Nginx come bilanciatore di carico HTTP in Linux
Come abilitare HTTP/2.0 in NGINX
Se hai installato NGINX, verifica che sia stato compilato con il ngx_http_v2_module
modulo eseguendo il comando seguente.
# strings /usr/sbin/nginx | grep _module | grep -v configure| sort | grep ngx_http_v2_module
Controlla il modulo Nginx HTTP/2
Una volta che hai un sito web/un'applicazione servita da NGINX con HTTPS configurato, apri il blocco del server virtuale del tuo sito web (o host virtuale ) file per la modifica.
# vi /etc/nginx/conf.d/example.com.conf [On CentOS/RHEL] $ sudo nano /etc/nginx/sites-available/example.com.conf [On Ubuntu/Debian]
Puoi abilitare il supporto HTTP/2 semplicemente aggiungendo il http2
parametro a tutti listen
direttive come mostrato nella schermata seguente.
listen 443 ssl http2;
La configurazione del blocco server di esempio è simile a quella riportata di seguito.
server { server_name example.com www.example.com; access_log /var/log/nginx/example.com_access.log; error_log /var/log/nginx/example.com_error.log; listen [::]:443 ssl ipv6only=on http2; # managed by Certbot listen 443 ssl http2; # managed by Certbot ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot }
Abilita il supporto HTTP/2 in Nginx
Salva le modifiche nel file e chiudilo.
Quindi controlla la sintassi di configurazione di NGINX, se è OK, riavvia il servizio Nginx.
# nginx -t # systemctl restart nginx
Quindi, apri un browser web per verificare se il tuo sito web viene servito su HTTP/2 .
http://www.example.com
Per accedere alle intestazioni HTTP, fai clic con il pulsante destro del mouse sulla pagina Web visualizzata, seleziona Ispeziona dall'elenco delle opzioni per aprire gli strumenti per sviluppatori, quindi fai clic su Rete scheda e ricarica la pagina.
Controlla in Protocolli per vedere quella utilizzata dal tuo sito (se non vedi l'intestazione Protocolli, fai clic con il pulsante destro del mouse su una qualsiasi delle intestazioni, ad esempio Nome , quindi controlla Protocollo dall'elenco per visualizzarlo come intestazione).
Se il tuo sito è in esecuzione su HTTP/1.1 , in Protocollo , vedrai http/1.1 come mostrato nella schermata seguente.
Sito in esecuzione su HTTP/1.1
Se è in esecuzione su HTTP/2 , in Protocollo , vedrai h2
come mostrato nella schermata seguente. Potresti voler disabilitare la cache del browser per visualizzare gli ultimi contenuti serviti direttamente dal server web.
Sito in esecuzione su HTTP/2.0
È tutto! Per ulteriori informazioni, vedere la documentazione del modulo ngx_http_v2_module. Non esitare a porre domande tramite il modulo di feedback qui sotto.
Condividere è prendersi cura...Condividi su FacebookCondividi su TwitterCondividi su LinkedinCondividi su Reddit