In questo articolo, lavoreremo su come reindirizzare il traffico web da HTTP a un HTTPS sicuro in NGINX.
Le risposte e le richieste vengono restituite sotto forma di testo in chiaro in HTTP, mentre l'HTTPS utilizza SSL/TLS per crittografare la comunicazione tra il sistema client e server. Pertanto, per molte ragioni, HTTPS viene utilizzato su HTTP, che sono elencati di seguito:
Si preferisce reindirizzare il traffico HTTP a HTTPS in NGINX in un blocco server separato per ciascuna versione del sito. Si consiglia inoltre di evitare di reindirizzare il traffico usando la direzione "if" che può causare un comportamento insolito del server.
Reindirizza tutto il traffico da HTTP a HTTPS
Aggiungi le seguenti modifiche al file di configurazione Nginx per reindirizzare tutto il traffico da HTTP alla versione HTTPS:
serverDi seguito, abbiamo elaborato ogni termine sopra menzionato:
Ascolta 80 Default_Server - Questo segnalerà il tuo sistema che cattura tutto il traffico HTTP sulla porta 80.
Server_name _ - È il dominio che corrisponderà a qualsiasi nome host.
Restituisce 301 https: // $ host $ request_uri - Questo dice ai tuoi motori di ricerca che lo reindirizzano in modo permanente. Specifica che l'host $ variabile detiene i nomi di dominio.
Una volta modificate le impostazioni di configurazione, è necessario ricaricare i servizi NGINX sul sistema. Quindi, ricarica i tuoi servizi Nginx utilizzando il seguente comando:
$ sudo systemctl ricarica nginx
Reindirizzare HTTP alla versione HTTPS per il dominio specificato in NGINX
Dopo aver installato il certificato SSL sul tuo dominio, avrai due opzioni di blocchi di server per questo dominio. Un blocco è per la versione HTTP che ascolta sulla porta 80 e la seconda versione è HTTPS sulla porta 443. Tuttavia, per reindirizzare un singolo dominio del sito Web da HTTP a HTTPS, è necessario aprire la configurazione NGINX. È possibile individuare questo file di configurazione nella directory disponibile/nginx/siti. In ogni caso, se non hai trovato questo file, puoi cercarlo con/etc/nginx/nginx.conf,/usr/local/nginx/conf o/usr/local/etc/nginx, quindi eseguire le seguenti modifiche in questo file:
serverComprendiamo la riga di codice sopra per riga.
Ascolta 80 - Utilizzando la porta 80, il server ascolterà tutte le connessioni in arrivo il dominio specificato.
Server_name Domain-Name.com www.nome del dominio.com - Specifica i nomi del dominio. Quindi, sostituiscilo con il nome di dominio del tuo sito Web che si desidera reindirizzare.
Return 301 https: // domain-name.com $ request_uri - sposta il traffico alla versione HTTPS del sito. La variabile $ request_uri viene utilizzata per l'intera richiesta originale URI in cui sono inclusi gli argomenti.
Utilizzando il seguente metodo, è possibile reindirizzare il traffico alla versione HTTPS WWW alla versione non WWW del sito. Si consiglia di creare un reindirizzamento in un blocco server separato per le versioni non WWW e WWW.
Spieghiamo con un esempio. Se si desidera reindirizzare le richieste HTTPS WWW alla versione non WWW, seguiresti la seguente configurazione:
serverSostituisci il nome di dominio con il tuo dominio, come www.Linuxhint.com.
Conclusione
Abbiamo discusso di come reindirizzare il traffico dalla versione HTTP all'HTTPS sul server Nginx. Modificando l'impostazione del file di configurazione Nginx, è possibile reindirizzare facilmente il traffico a HTTPS per un dominio specificato o reindirizza tutto. Questo metodo, che abbiamo menzionato in questo articolo, può aiutarti a rendere il tuo sito Web più sicuro apportando eventuali modifiche all'esperienza dell'utente.