Redirigir petición HTTP a HTTPS con NGINX

Redirigir petición HTTP a HTTPS con NGINX
Redirigir petición HTTP a HTTPS con NGINX

Aprende a redirigir peticiones HTTP a HTTPS en NGINX para mejorar la seguridad de tu sitio web. Este tutorial te muestra cómo configurar la redirección mediante sencillas directivas.

🔒 Redirigir Petición HTTP a HTTPS con NGINX

La redirección HTTP a HTTPS (o forzar SSL/TLS) es una práctica esencial para la seguridad y el SEO. Se utiliza el código de estado 301 (Moved Permanently) para indicar al navegador que la nueva dirección (HTTPS) es permanente.

Pasos a seguir

  1. Abrir el Fichero de Configuración

    Abre el fichero de configuración de NGINX para el dominio que lo necesites (generalmente se encuentra en /etc/nginx/sites-available/ o /etc/nginx/conf.d/).

  2. Añadir el Bloque de Redirección

    Necesitas un bloque server dedicado a escuchar el tráfico HTTP (puerto 80) y cuya única función sea redirigir inmediatamente al protocolo HTTPS.

server {
    # 1. Escuchar el puerto 80 (HTTP)
    listen 80;
    
    # 2. Definir el nombre del dominio
    server_name midominio.com [www.midominio.com](https://www.midominio.com); 
    
    # 3. Ejecutar la redirección 301 permanente
    # $host toma el dominio exacto solicitado por el cliente.
    # $request_uri mantiene la ruta completa (ej: /contacto/index.html).
    return 301 https://$host$request_uri;
}

# (Tu configuración HTTPS va en un bloque 'server' diferente escuchando en el puerto 443)
  1. Guardar y Reiniciar NGINX

    Guarda el fichero y prueba la sintaxis antes de recargar.

sudo nginx -t  # Comprueba la sintaxis
sudo systemctl reload nginx # Reinicia el servicio
  1. Comprobación

    Comprueba que al acceder al dominio con http:// (ej., http://midominio.com) eres redirigido automáticamente a https://midominio.com.