Poiché stai utilizzando un sistema Linux, probabilmente sai già che HTTP è un protocollo Internet che stabilisce la tua connessione Internet al server richiesto tramite il tuo browser web. Invia le richieste dall'estremità del client all'estremità del server e trasmette i dati dal server al client. Bene, questo è sufficiente per conoscere il protocollo HTTP se sei un normale utente di Internet. Se sei un amministratore di server o un gestore di rete o ospiti il tuo sito Web su un server Nginx, devi saperne di più su HTTP, HTTP/2.0 e su come abilitare HTTP/2.0 nel server Nginx.
Abilita HTTP/2.0 in Nginx
Come amministratore del server Nginx, devi aver sentito parlare dell'OSI e del modello TCP; l'HTTP è nel livello dell'applicazione del modello OSI. Puoi applicare HTTP2 sul tuo server Nginx per rendere il tuo server più veloce, efficiente e sicuro.
Per configurare i servizi HTTP sul tuo sistema, devi avere il server Nginx installato sulla tua macchina. In questo post vedremo come abilitare e configurare http2 sul tuo server Nginx.
Passaggio 1:verifica i prerequisiti per Nginx HTTP/2.0
Poiché hai già il server Nginx installato sulla tua macchina, per abilitare i servizi HTTP/2.0, potresti dover verificare se il tuo sistema è in grado di gestire la prossima versione del protocollo HTTP. Per controllare i moduli HTTP, puoi eseguire il seguente comando GREP (Global Regular Expression Print) sulla shell del tuo terminale.
strings /usr/sbin/nginx | grep _module | grep -v configure| sort | grep ngx_http_v2_module
Puoi anche eseguire il seguente comando di controllo del sistema per controllare lo stato del tuo server Nginx.
sudo systemctl status nginx- -
Passaggio 2:abilita HTTP/2.0 su Nginx
L'abilitazione dei servizi HTTP/2.0 su un server Nginx è semplice. Devi avere il privilegio di root sulla tua macchina. Puoi eseguire il seguente comando sul tuo terminale Linux per modificare e configurare il protocollo HTTP/2.0 sul tuo server.
Il comando seguente cambierà il tipo di connessione HTTP dal tuo filesystem Nginx memorizzato all'interno di /etc/nginx/
directory. Scegli il comando appropriato per la tua distribuzione Linux dal basso.
Modifica la configurazione del server Nginx su Ubuntu/Debian
sudo nano /etc/nginx/sites-available/example.com.conf
Modifica la configurazione del server Nginx su Red Hat e Fedora Linux
sudo nano /etc/nginx/conf.d/example.com.conf
Ora devi aggiungere la seguente riga di protocollo HTTP all'interno dello script.
listen 443 ssl http2;
È possibile seguire lo script di esempio riportato di seguito. Assicurati di aver sostituito l'indirizzo del tuo server con example.com.
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 }
Ora puoi controllare lo stato di configurazione del tuo server Nginx.
nginx -t
Ora puoi eseguire il comando di controllo del sistema indicato di seguito per riavviare il tuo server Nginx.
systemctl restart nginx
Fase 3:verifica e chiudi
Abbiamo ora visto come abilitare i servizi HTTP/2.0 su un server Nginx; è ora di verificare se è abilitato o meno. Ci sono due metodi per conoscerlo. Puoi eseguire il seguente comando cURL sulla shell del terminale per verificare lo stato HTTP.
sudo curl -v --http2 http://localhost
Il comando restituirà lo stato della connessione al server e lo stato della versione HTTP.
Puoi anche controllare lo stato della versione HTTP tramite il tuo browser web. Innanzitutto, inserisci l'indirizzo web del tuo server e visita il sito. Quindi fare clic con il tasto destro del mouse e selezionare il menu Ispeziona elemento. Quindi troverai la scheda Rete. Nella scheda Rete, trova il menu del protocollo e controlla se HTTP/2.0 è abilitato o meno sul tuo server Nginx.
Attenzione!
L'abilitazione di HTTP/2.0 sul tuo server Nginx può consentire più richieste al server e rendere più veloci i protocolli binari. Tuttavia, abilitare HTTP/2.0 ha sia pro che contro. È possibile abusare dell'abilitazione di HTTP/2.0 per utilizzare il sistema push del server.
Se si dispone di una connessione in modalità mista (abilitata HTTP/2.0 nel client ma non abilitata nel server), può rallentare la connessione. Dovresti assicurarti che sia il lato server che il lato client abbiano i servizi http/2.0 abilitati.
Le ultime parole
Il protocollo HTTP/2.0 può comprimere i dati binari e rispondere a più richieste alla volta. Nell'intero post, abbiamo visto come abilitare i servizi HTTP/2.0 su un server Nginx. Ho anche descritto i fondamenti e le precauzioni per abilitare HTTP/2.0 su un server.
Per favore condividilo con i tuoi amici e la comunità Linux se trovi questo post utile e informativo. Puoi anche scrivere le tue opinioni su questo post nella sezione commenti.