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
-
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/). -
Añadir el Bloque de Redirección
Necesitas un bloque
serverdedicado 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)
-
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
-
Comprobación
Comprueba que al acceder al dominio con
http://(ej.,http://midominio.com) eres redirigido automáticamente ahttps://midominio.com.