Nginx

Nginx Reindirizza HTTP a HTTPS

Nginx Reindirizza HTTP a HTTPS
Nginx, pronunciato come "Engine x", è un web ad alte prestazioni basato su Linux open source gratuito e un server proxy inverso responsabile della gestione e della gestione del carico del più grande traffico di siti Web su Internet. Nginx è un potente strumento di reindirizzamento che può essere configurato facilmente sul tuo sistema per reindirizzare il traffico Web HTTP meno sicuro o non crittografato a un server Web HTTPS crittografato e protetto. Se sei un amministratore di sistema o uno sviluppatore, stai utilizzando regolarmente il server Nginx.

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 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:

È preferibile reindirizzare il traffico da HTTP a HTTPS in Nginx in un blocco di server separato per ogni versione del sito. Si raccomanda inoltre di evitare di reindirizzare il traffico utilizzando la direzione "if" che potrebbe causare un comportamento insolito del server.

Reindirizza tutto il traffico da HTTP a HTTPS

Aggiungi le seguenti modifiche al file di configurazione di Nginx per reindirizzare tutto il traffico dalla versione HTTP alla versione HTTPS:

server
ascolta 80 default_server;
nome del server _;
restituisce 301 https://$host$request_uri;

Di seguito, abbiamo elaborato ciascun termine sopra menzionato:

Ascolta 80 default_server - questo segnalerà al tuo sistema che cattura tutto il traffico HTTP sulla porta 80.
Server_name _ - è il dominio che corrisponderà a qualsiasi hostname.

Restituisci 301 https://$host$request_uri - questo dice ai tuoi motori di ricerca che lo reindirizzano in modo permanente. Specifica che la variabile $host contiene i nomi di dominio.

Una volta modificate le impostazioni di configurazione, è necessario ricaricare i servizi Nginx sul sistema. Quindi, ricarica i tuoi servizi Nginx usando il seguente comando:

$ sudo systemctl ricarica nginx

Reindirizza HTTP alla versione HTTPS per il dominio specificato in Nginx

Dopo aver installato il certificato SSL sul tuo dominio, avrai due opzioni di blocchi server per questo dominio. Un blocco è per la versione HTTP in ascolto 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 di Nginx. Puoi individuare questo file di configurazione nella directory /etc/nginx/sites-available. 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:

server
ascolta 80;
nome_server nome-dominio.com www.nome del dominio.com;
return 301 https://nome-dominio.com$request_uri;

Comprendiamo il codice sopra riga per riga.
Ascolta 80: utilizzando la porta 80, il server ascolterà tutte le connessioni in entrata del dominio specificato.

Nome_server nome-dominio.com www.nome del dominio.com - specifica i nomi di dominio. Quindi, sostituiscilo con il nome di dominio del tuo sito web che desideri reindirizzare.

Restituire 301 https://nome-dominio.com$request_uri - sposta il traffico alla versione HTTPS del sito. La variabile $request_uri viene utilizzata per l'intero URI della richiesta originale in cui sono inclusi anche gli argomenti.

Utilizzando il seguente metodo, puoi reindirizzare il traffico alla versione HTTPS www della versione non www del sito. Si consiglia di creare un reindirizzamento in un blocco server separato per entrambe le versioni non www e www.

Spieghiamo con un esempio. Se desideri reindirizzare le richieste HTTPS www alla versione non www, segui la seguente configurazione:

server
ascolta 80;
nome_server nome-dominio.com www.nome del dominio.com;
return 301 https://nome-dominio.com$request_uri;

server
ascolta 443 ssl http2;
nome_server www.nome del dominio.com;
#… altro codice
return 301 https://nome-dominio.com$request_uri;

server
ascolta 443 ssl http2;
nome_server nome-dominio.com;
#… altro codice

Sostituisci il nome di dominio con il tuo dominio, come www.linuxhint.come.

Conclusione

Abbiamo discusso su come reindirizzare il traffico dalla versione HTTP all'HTTPS sul server Nginx. Modificando l'impostazione del file di configurazione di Nginx, puoi facilmente reindirizzare il traffico a HTTPS per un dominio specificato o reindirizzare tutto. Questo metodo, che abbiamo menzionato in questo articolo, può aiutarti a rendere più sicuro il tuo sito Web apportando modifiche all'esperienza dell'utente.

Tutorial Battaglia per Wesnoth
The Battle for Wesnoth è uno dei giochi di strategia open source più popolari a cui puoi giocare in questo momento. Non solo questo gioco è in svilupp...
0 A.D. Tutorial
Tra i tanti giochi di strategia in circolazione, 0 A.D. riesce a distinguersi come un titolo completo e un gioco molto profondo e tattico nonostante s...
Tutorial Unity3D
Introduzione a Unity 3D Unity 3D è un potente motore di sviluppo di giochi. È multipiattaforma cioè ti permette di creare giochi per mobile, web, desk...