Nginx redirigeix ​​HTTP a HTTPS

Nginx Redirect Http Https



Nginx, pronunciat com a Engine x, és un lloc web gratuït d’alt rendiment basat en Linux de codi obert i un servidor intermediari invers que s’encarrega de gestionar i gestionar la càrrega del trànsit de llocs web més gran d’Internet. Nginx és una potent eina de redirecció que es pot configurar fàcilment al vostre sistema per redirigir el trànsit web HTTP menys segur o sense xifrar a un servidor web HTTPS xifrat i segur. Si sou administrador del sistema o desenvolupador, feu servir el servidor Nginx regularment.

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 nginx

Redirigiu 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.