📒 

Asegurar su sitio web con HTTPS es esencial para proteger los datos de los usuarios y mejorar el posicionamiento SEO. Redirigir todo el tráfico de HTTP a HTTPS garantiza que los usuarios accedan a la versión segura de su sitio web. Esta guía le guiará a través del proceso de configuración de una redirección de HTTP a HTTPS utilizando Nginx en un servidor Linux.

1. Entendiendo HTTP y HTTPS

  • HTTP (Protocolo de transferencia de hipertexto): El protocolo estándar para transmitir datos a través de Internet. No es seguro, lo que significa que los datos enviados a través de HTTP pueden ser interceptados por atacantes.
  • HTTPS (HTTP Seguro): Extensión de HTTP que utiliza el cifrado SSL/TLS para proteger los datos transmitidos entre el cliente y el servidor. Esto garantiza que la información sensible, como las credenciales de acceso y los datos de pago, esté encriptada y segura.

2. Instalación de un certificado SSL

Antes de configurar la redirección, debe instalar un certificado SSL en su servidor. Puede obtener un certificado SSL de varios proveedores, entre ellos:

  • Let’s Encrypt: Una autoridad de certificación gratuita, automatizada y abierta.
  • Proveedores comerciales de SSL: Como Comodo, DigiCert o GoDaddy.

Para este ejemplo, asumiremos que está utilizando Let’s Encrypt. Si aún no ha configurado SSL, siga estos pasos:

Paso 1: Instalar Certbot

Certbot es una herramienta para automatizar el proceso de obtención y renovación de certificados SSL de Let’s Encrypt.

sudo apt update sudo apt install certbot python3-certbot-nginx

Paso 2: Obtener un certificado SSL

Ejecute Certbot para obtener y configurar automáticamente su certificado SSL:

sudo certbot –nginx

Sigue las instrucciones para configurar tu certificado SSL. Certbot configurará automáticamente Nginx para utilizar HTTPS.

3. Redirigir HTTP a HTTPS

Una vez que haya instalado su certificado SSL, es necesario configurar Nginx para redirigir el tráfico HTTP a HTTPS.

Paso 1: Abrir el archivo de configuración de Nginx

Abra el archivo de configuración de Nginx para su sitio web, normalmente ubicado en /etc/nginx/sites-available/. Utilice su editor de texto preferido para abrir el archivo. Por ejemplo

sudo nano /etc/nginx/sitios-disponibles/ejemplo.com

Paso 2: Añadir regla de redirección

En el bloque del servidor que escucha el tráfico HTTP (normalmente en el puerto 80), añada una regla de redirección para reenviar todas las peticiones a HTTPS. Así es como debería verse su configuración:

server { listen 80; server_name example.com www.example.com; # Redirigir todas las peticiones HTTP a HTTPS return 301 https://$host$request_uri; }

Esta configuración le dice a Nginx que redirija todo el tráfico que llega a la versión HTTP de su sitio a la versión HTTPS.

4. Prueba de la configuración

Paso 1: Probar la configuración de Nginx

Antes de recargar Nginx, prueba la configuración en busca de errores de sintaxis:

sudo nginx -t

Deberías ver un mensaje indicando que la configuración está bien.

Paso 2: Recargar Nginx

Aplique los cambios recargando el servidor Nginx:

sudo systemctl reload nginx

5. Verificación de la redirección

Para asegurarse de que la redirección funciona correctamente:

  1. Abra un navegador y vaya a http://example.com.
  2. Compruebe que le redirige automáticamente a https://example.com.
  3. También puede utilizar herramientas de línea de comandos como curl para probar la redirección:
curl -I http://example.com

Debería ver una respuesta 301 Moved Permanently con la cabecera Location apuntando a la URL HTTPS.

6. Conclusión

Redirigir de HTTP a HTTPS en su servidor Linux utilizando Nginx es un proceso sencillo que mejora la seguridad y la confianza del usuario. Siguiendo los pasos descritos en esta guía, puede configurar con éxito una redirección automática, garantizando que todo el tráfico a su sitio es seguro. Compruebe regularmente la validez de su certificado SSL y renuévelo cuando sea necesario para mantener una conexión segura.