GNU/Linux >> Linux Esercitazione >  >> Debian

Come configurare Nginx con supporto HTTP/2 su Debian 9

Ti mostreremo come configurare Nginx con supporto HTTP/2 su Debian 9. HTTP/2 è una revisione importante del protocollo di rete HTTP e offre molti vantaggi. Abilitare HTTP/2 su Nginx in esecuzione sul server Debian 9 è un compito abbastanza semplice se segui attentamente il tutorial di seguito. Iniziamo!

Cos'è HTTP/2?

HTTP/2 è una revisione importante del protocollo di rete HTTP. È derivato dal protocollo sperimentale SPDY sviluppato da Google. L'obiettivo principale di HTTP/2 è ridurre la latenza, ridurre al minimo l'overhead del protocollo e aggiungere il supporto per la definizione delle priorità delle richieste. Questo rende le applicazioni web da caricare molto più velocemente.

La sintassi di alto livello come codici di stato, metodi, campi di intestazione, URI ecc. è la stessa della versione precedente di HTTP, tranne per il fatto che esiste una differenza nel modo in cui i dati vengono inquadrati e trasportati tra il client e il server.

Il supporto HTTP/2 è stato introdotto nella versione 1.9.5 di Nginx ed è disponibile in tutte le versioni più recenti. Se stai usando Debian 9 come sistema operativo non dovresti preoccuparti se puoi usare HTTP/2 con Nginx o meno. La versione di Nginx inclusa nel repository Debian 9 predefinito è superiore alla 1.9.5, quindi sarà incluso il supporto HTTP/2.

Per verificare la versione di Nginx installata sul tuo VPS Debian, connettiti al tuo server tramite SSH ed esegui il seguente comando:

nginx -v

L'output dovrebbe essere simile a quello seguente:

# nginx -v
nginx version: nginx/1.10.3

Se ottieni qualcosa come il seguente:

# nginx -v
-bash: /usr/sbin/nginx: No such file or directory

Significa che Nginx non è installato sul tuo VPS Linux e devi prima installarlo. Esegui i seguenti comandi per installare Nginx:

apt-get update
apt-get install nginx

Una volta completata l'installazione, eseguire il comando sopra per verificare che Nginx sia installato e supporti HTTP/2.

Configura Nginx con supporto HTTP/2 su Debian 9

HTTP/2 non richiede la crittografia. Tuttavia, attualmente nessun browser supporta HTTP/2 non crittografato, quindi è necessario disporre di un certificato SSL valido emesso per il tuo dominio prima di procedere con gli altri passaggi di questo tutorial.

Per abilitare HTTP/2 in Nginx, apri il blocco server Nginx predefinito utilizzando un editor di testo a tua scelta.

nano /etc/nginx/sites-available/default

Quindi, aggiungi le seguenti righe:

server {
listen 443 ssl http2 default_server;
server_name domain.com www.domain.com;
root /var/www/html;
index index.html;

location / {
try_files $uri $uri/ =404;
}

ssl_certificate /etc/nginx/ssl/domain.com.crt;
ssl_certificate_key /etc/nginx/ssl/domain.com.key;
}

server {
listen 80;
server_name domain.com www.domain.com;
return 301 https://$server_name$request_uri;
}

Usa il tuo nome di dominio per server_name , la posizione dei dati del tuo sito web per root e il percorso del certificato SSL e della chiave privata per ssl_certificate e ssl_certificate_key .

Al termine, salva il file e chiudilo. Controlla se ci sono errori di sintassi nella configurazione di Nginx usando il comando seguente:

nginx -t

Se tutto è a posto con la configurazione, l'output dovrebbe essere simile a quello seguente:

# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

In caso contrario, gli errori verranno elencati nell'output in modo da scoprire facilmente qual è il problema.

Una volta che sei sicuro che non ci siano problemi con la configurazione in Nginx, puoi riavviare il servizio usando il seguente comando:

systemctl restart nginx.service

Una cosa che possiamo migliorare qui è la sicurezza dello scambio di chiavi. Nginx per impostazione predefinita utilizza una chiave Diffie-Hellman a 1028 bit e possiamo generarne una nuova, più sicura. Per generare una nuova chiave Diffie-Hellman, eseguire il comando seguente:

openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048

Il completamento del processo richiederà un paio di minuti. Una volta generata la chiave, apri il blocco del server Nginx predefinito e aggiungi la seguente riga in ssl_certificate_key :

ssl_dhparam /etc/nginx/ssl/dhparam.pem;

Quindi, riavvia Nginx per rendere effettive le modifiche.

Se desideri configurare Nginx con il supporto HTTP/2 per un nome di dominio diverso, puoi seguire il nostro tutorial su come impostare i blocchi server in Nginx.

Inoltre, se stai utilizzando Ubuntu 16.04 o CentOS 7 come sistema operativo, puoi consultare il nostro tutorial su come abilitare HTTP/2 in Nginx su Ubuntu o CentOS.

Verifica che Nginx supporti HTTP/2

Per verificare se HTTP/2 è abilitato in Nginx puoi utilizzare il nostro strumento di verifica HTTP/2 online.

Ovviamente, non devi configurare Nginx con supporto HTTP/2 su Debian 9, se utilizzi una delle nostre soluzioni di hosting ottimizzato HTTP/2, nel qual caso puoi semplicemente chiedere ai nostri esperti amministratori Linux di configurare Nginx con Supporto HTTP/2 su Debian 9 per te. Sono disponibili 24 ore su 24, 7 giorni su 7 e si prenderanno immediatamente cura della tua richiesta.

PS. Se ti è piaciuto questo post su come configurare Nginx con supporto HTTP/2 su Debian 9, condividilo con i tuoi amici sui social network usando i pulsanti a sinistra o lascia semplicemente una risposta qui sotto. Grazie.


Debian
  1. Come configurare un firewall con UFW su Debian 10

  2. Come configurare un firewall con UFW su Debian 9

  3. Come installare HTTP Git Server con Nginx su Debian 11

  4. Come configurare Apache con HTTP/2 su Ubuntu 16.04

  5. Come installare WonderCMS con Nginx su Debian 11

Come abilitare il supporto HTTP/2.0 su Nginx

Come installare phpMyAdmin con Nginx su Debian 11

Come installare Nginx con PHP-FPM su Debian 11

Come abilitare HTTP/2.0 in Nginx

Come configurare un firewall con UFW su Debian 11

Come configurare Nginx con supporto HTTP/2 su Ubuntu 18.04