GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come abilitare HTTP/2.0 in Nginx

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
Ubuntu
  1. Come abilitare HTTP/2 in Nginx

  2. Come abilitare TLS 1.3 in Nginx

  3. Come abilitare HTTP2 in NGINX

  4. Come abilitare HTTP/2 in Nginx su Ubuntu e CentOS

  5. Come configurare Nginx con supporto HTTP/2 su Debian 9

Come abilitare la compressione Gzip su Nginx

Come abilitare HTTP/2 in Apache su Ubuntu

Come abilitare HTTP/2 in Apache su sistema Linux

Come abilitare HTTP/2.0 in Nginx Server:guida passo passo

Come abilitare HTTP/2 con Apache in Ubuntu

Come abilitare HTTP/2.0 in Nginx su CentOS