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:
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:
servidorA 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:
servidorEntendamos 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:
servidorReemplace 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.