En aquest article, treballarem sobre com redirigir el trànsit web d’HTTP a un HTTPS segur a Nginx.
Les respostes i les sol·licituds es retornen en forma de text complet a HTTP, mentre que l'HTTPS utilitza SSL / TLS per xifrar la comunicació entre el sistema client i servidor. Per tant, per molts motius, s’utilitza HTTPS a través de l’HTTP, que s’enumeren a continuació:
- Totes les dades entre el client-servidor en ambdues direccions estan xifrades. Tot i això, qualsevol persona no pot accedir a informació sensible si és interceptada.
- Quan utilitzeu HTTPS, Google Chrome i altres navegadors consideraran que el domini del vostre lloc web és segur.
- La versió HTTPS millora el rendiment del lloc web especificat mitjançant el protocol HTTP / 2.
- Si publiqueu el domini del vostre lloc web mitjançant HTTPS, el lloc web es classificarà millor a Google, ja que afavoreix tots els llocs web protegits amb HTTPS.
Es prefereix redirigir el trànsit HTTP a HTTPS a Nginx en un bloc de servidor separat per a cada versió del lloc. També es recomana evitar redirigir el trànsit mitjançant una direcció que pugui provocar un comportament inusual del servidor.
Redirigiu tot el trànsit d'HTTP a HTTPS
Afegiu els canvis següents al fitxer de configuració de Nginx per redirigir tot el trànsit d'HTTP a la versió HTTPS:
servidor {
escolta 80servidor_per defecte;
nom_servidor _;
tornar 301https: //$ host$ request_uri;
}
A continuació, hem elaborat cada terme esmentat anteriorment:
Escolteu 80 default_server: indicarà al vostre sistema que capta tot el trànsit HTTP del port 80.
Nom_servidor _: és el domini que coincidirà amb qualsevol nom d'amfitrió.
Torna 301 https: // $ host $ request_uri: indica als motors de cerca que el redirigeixen permanentment. Especifica que la variable $ host conté els noms de domini.
Un cop canviats els paràmetres de configuració, has de tornar a carregar els serveis de Nginx al sistema. Per tant, torneu a carregar els vostres serveis Nginx mitjançant l'ordre següent:
$suosystemctl recarrega nginxRedirigiu la versió HTTP a HTTPS per a un domini especificat a Nginx
Després d’instal·lar el certificat SSL al vostre domini, tindreu dues opcions de blocs de servidor per a aquest domini. Un bloc és per a la versió HTTP que escolta al port 80 i la segona versió és HTTPS al port 443. Tot i això, per redirigir un únic domini de lloc web d’HTTP a HTTPS, heu d’obrir la configuració de Nginx. Podeu localitzar aquest fitxer de configuració al directori / etc / nginx / sites-available. En qualsevol cas, si no heu trobat aquest fitxer, el podeu cercar amb /etc/nginx/nginx.conf, / usr / local / nginx / conf o / usr / local / etc / nginx i, a continuació, realitzeu la canvis següents en aquest fitxer:
servidor {escolta 80;
nom_servidor domain-name.com www.domain-name.com;
tornar 301https://domain-name.com$ request_uri;
}
Anem a entendre el codi anterior línia per línia.
Escolta 80: mitjançant el port 80, el servidor escoltarà totes les connexions entrants del domini especificat.
Nom_servidor nom_domini.com www.domini-nom.com: especifica els noms de domini. Per tant, substituïu-lo pel nom del domini del lloc web que vulgueu redirigir.
Torna 301 https: //domain-name.com$request_uri: mou el trànsit a la versió HTTPS del lloc. La variable $ request_uri s'utilitza per a l'URI de sol·licitud original complet en què també s'inclouen arguments.
Mitjançant el mètode següent, podeu redirigir el trànsit a la versió HTTPS www a la versió no www del lloc. Es recomana crear una redirecció en un bloc de servidor separat per a versions no www i www.
Expliquem-ho amb un exemple. Si voleu redirigir les sol·licituds www HTTPS a la versió que no és www, seguiu la configuració següent:
servidor {escolta 80;
nom_servidor domain-name.com www.domain-name.com;
tornar 301https://domain-name.com$ request_uri;
}
servidor {
escolta 443 ssl http2;
nom_servidor www.domain-name.com;
#. . . altre codi
tornar 301https://domain-name.com$ request_uri;
}
servidor {
escolta 443 ssl http2;
nom_servidor domain-name.com;
#. . . altre codi
}
Substituïu el nom del domini pel vostre domini, com ara www.linuxhint.com.
Conclusió
Hem comentat com redirigir el trànsit des de la versió HTTP a l'HTTPS al servidor Nginx. Si canvieu la configuració del fitxer de configuració de Nginx, podeu redirigir fàcilment el trànsit a HTTPS per a un domini especificat o bé redirigir-ho tot. Aquest mètode, que hem esmentat en aquest article, us pot ajudar a fer que el vostre lloc web sigui més segur fent canvis a l’experiència de l’usuari.