# 🔐 Habilitar HTTPS en Google Cloud (Nginx + Certbot) > ← [Anterior: ☁️ Google Cloud VM](./02-gcloud-vm-n8n.md) | [Volver al índice](../README.md) | Siguiente: [🕷️ Crawl4AI →](./04-crawl4ai-ubuntu.md) --- ## Requisitos previos - VM en Google Cloud con Ubuntu 24.04 *(ver [paso anterior](./02-gcloud-vm-n8n.md))* - n8n ya instalado y corriendo con PM2 - Un **dominio propio** con un registro **A** apuntando a la IP externa de tu VM: ``` n8n.midominio.com → EXTERNAL_IP_VM ``` --- ## Paso 1 — Instalar n8n con PM2 (si no lo hiciste aún) ```bash curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash source ~/.bashrc nvm install --lts npm install -g n8n@latest npm install -g pm2 pm2 start n8n pm2 save pm2 startup ``` --- ## Paso 2 — Instalar Nginx ```bash sudo apt install -y nginx ``` ### Crear configuración para n8n ```bash sudo nano /etc/nginx/sites-available/n8n ``` Pega el siguiente contenido (reemplaza `n8n.midominio.com` por tu dominio real): ```nginx server { listen 80; server_name n8n.midominio.com; location / { proxy_pass http://localhost:5678; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } ``` ### Activar el sitio ```bash sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl reload nginx ``` n8n ya será accesible en `http://n8n.midominio.com`. --- ## Paso 3 — Instalar Certbot para HTTPS ```bash sudo apt install -y certbot python3-certbot-nginx ``` Ejecuta el proceso de certificación: ```bash sudo certbot --nginx -d n8n.midominio.com ``` Durante el proceso: - Acepta los términos de servicio. - Selecciona la opción de **redirigir todo el tráfico a HTTPS**. Certbot configurará Nginx automáticamente para usar TLS. --- ## Paso 4 — Verificar acceso Abre en tu navegador: 👉 `https://n8n.midominio.com` n8n estará corriendo con **HTTPS válido y seguro** ✅ --- ## Paso 5 — Renovación automática de certificados Certbot instala un cron job que renueva los certificados antes de que expiren. Puedes verificarlo con: ```bash sudo certbot renew --dry-run ``` --- ## ✅ Resultado final Con esta configuración tienes: - ✅ **n8n corriendo en segundo plano** con PM2 - ✅ **Acceso seguro** vía Nginx + HTTPS (Let's Encrypt) - ✅ **Firewall en GCP** abierto solo en puertos `80` y `443` (ya no necesitas exponer el `5678`) --- > ← [Anterior: ☁️ Google Cloud VM](./02-gcloud-vm-n8n.md) | [Volver al índice](../README.md) | Siguiente: [🕷️ Crawl4AI →](./04-crawl4ai-ubuntu.md)