Nginx redirige http a https

Nginx redirige http a https
Nginx, pronunciado como "Engine X", es una web de alto rendimiento de código abierto gratuita y de código abierto y un servidor proxy inverso que es responsable de administrar y manejar la carga del tráfico de sitios web más grande en Internet. NGINX es una poderosa herramienta de redireccionamiento que se puede configurar fácilmente en su sistema para redirigir el tráfico web HTTP menos seguro o no cifrado a un servidor web HTTPS cifrado y seguro. Si es un administrador del sistema o un desarrollador, entonces está utilizando el servidor NGINX regularmente.

En este artículo, trabajaremos en cómo redirigir el tráfico web de HTTP a un HTTPS seguro en Nginx.

Las respuestas y las solicitudes se devuelven en forma de texto sin formato en HTTP, mientras que el HTTPS utiliza SSL/TLS para cifrar la comunicación entre el sistema del cliente y el servidor. Por lo tanto, debido a muchas razones, se usa HTTPS sobre el HTTP, que se enumera a continuación:

  • Todos los datos entre el cliente-servidor en ambas direcciones están encriptados. Sin embargo, cualquiera no puede acceder a información confidencial si se intercepta.
  • Cuando usa HTTPS, Google Chrome y otros navegadores considerarán que el dominio de su sitio web es seguro.
  • La versión HTTPS mejora el rendimiento de su sitio web especificado utilizando el protocolo HTTP/2.
  • Si sirve el dominio de su sitio web a través de HTTPS, entonces el sitio web se clasificará mejor en Google, ya que favorece todos los sitios web asegurados por HTTPS.

Se prefiere redirigir el tráfico HTTP a HTTPS en Nginx en un bloque de servidor separado para cada versión del sitio. También se recomienda evitar redirigir el tráfico utilizando la dirección "si" que puede causar un comportamiento inusual del servidor.

Redirigir todo el tráfico de http a https

Agregue los siguientes cambios en el archivo de configuración de Nginx para redirigir todo el tráfico de HTTP a la versión HTTPS:

servidor
escuchar 80 default_server;
nombre del servidor _;
devolver 301 https: // $ host $ request_uri;

A continuación, hemos elaborado cada término mencionado anteriormente:

Escuchar 80 default_server: esto indicará a su sistema que atrapa todo el tráfico HTTP en el puerto 80.
Server_name _ - es el dominio el que coincidirá con cualquier nombre de host.

Return 301 https: // $ host $ request_uri: esto le dice a sus motores de búsqueda que lo redirigen permanentemente. Especifica que la variable $ host contiene los nombres de dominio.

Una vez que cambia la configuración de configuración, debe volver a cargar los servicios NGINX en su sistema. Entonces, vuelva a cargar sus servicios NGINX utilizando el siguiente comando:

$ sudo systemctl recargar nginx

Redirige la versión HTTP a HTTPS para el dominio especificado en Nginx

Después de instalar el certificado SSL en su dominio, tendrá dos opciones de bloques de servidor para este dominio. Un bloque es para la versión HTTP escuchando en el puerto 80, y la segunda versión es HTTPS en el puerto 443. Sin embargo, para redirigir un solo dominio del sitio web de HTTP a HTTPS, debe abrir la configuración de Nginx. Puede localizar este archivo de configuración en el directorio/etc/nginx/sites disponible. En cualquier caso, si no encontró este archivo, puede buscarlo con/etc/nginx/nginx.conf,/usr/local/nginx/conf o/usr/local/etc/nginx, y luego realice los siguientes cambios en este archivo:

servidor
Escucha 80;
SERVER_NAME NAME DE DOMINA.com www.nombre de dominio.com;
return 301 https: // nombre de dominio.com $ request_uri;

Entendamos el código anterior línea por línea.
Escuche 80: con el puerto 80, el servidor escuchará todas las conexiones entrantes de dominio especificado.

SERVER_NAME NAME DE DOMINA.com www.nombre de dominio.com - Especifica los nombres de dominio. Entonces, reemplácelo con el nombre de dominio de su sitio web que desea redirigir.

Return 301 https: // nombre de dominio.com $ request_uri: mueve el tráfico a la versión HTTPS del sitio. La variable $ request_uri se usa para la URI de solicitud original completa en la que también se incluyen los argumentos.

Usando el siguiente método, puede redirigir el tráfico a la versión https www a la versión no www del sitio. Se recomienda crear una redirección en un bloque de servidor separado para versiones no www y www.

Expliquemos con un ejemplo. Si desea redirigir las solicitudes WWW HTTPS a la versión no WWW, entonces seguiría la siguiente configuración:

servidor
Escucha 80;
SERVER_NAME NAME DE DOMINA.com www.nombre de dominio.com;
return 301 https: // nombre de dominio.com $ request_uri;

servidor
Escuche 443 SSL HTTP2;
server_name www.nombre de dominio.com;
#... otro código
return 301 https: // nombre de dominio.com $ request_uri;

servidor
Escuche 443 SSL HTTP2;
SERVER_NAME NAME DE DOMINA.com;
#... otro código

Reemplace el nombre de dominio con su dominio, como www.Linuxhint.comunicarse.

Conclusión

Hemos discutido cómo redirigir el tráfico de la versión HTTP al HTTPS en el servidor NGINX. Al cambiar la configuración del archivo de configuración de NGINX, puede redirigir fácilmente el tráfico a HTTPS para un dominio especificado o redirigir todo. Este método, que hemos mencionado en este artículo, puede ayudarlo a hacer que su sitio web sea más seguro haciendo cualquier cambio en la experiencia del usuario.