Gestionar N8N en un dominio propio a veces se hace complicado por los certificado SSL.
En está ocasión veremos un servicio que ha sacado OVH, que se llama OVH SSL Gateway es un balanceador, que nos permitirá esconder la ip de nuestro VPS, protegerlo de ataques DDoS y proporcionarle un certificado SSL de forma desatendida. Es totalmente gratuito para un solo dominio.
Esto tiene varias ventajas:
- Olvidarnos de mantener el certificado SSL
- Eliminar servicios que consumen recursos en el vps
- Ocultar la IP de nuestro VPS
- Proteger contra ataques de DDoS
- Poder dedicar más recursos a N8N
OVH SSL GATEWAY
Nota: Previamente debes apuntar el SUBDOMINIO a la ip del VPS para que te localize la dirección IP.
Para instalar OVH SSL Gateway, haz click en el link anterior, debería aparecerte la URL de tu país. Ya que si no lo registras con la URL de tu país, no te acepta luego la instalación por el NIF.
Una vez en la web debes seleccionar la versión gratuita.
Debes darle a activar y registrar tu cuenta o usar una existente si ya tienes cuenta en OVH.
Te aparecerá algo como esto y luego te pide registrarte.
Esto te llevará a una pantalla de compra que te cobrará 0€ y te pedirá el registro o inicio de sesión.
Una vez registrados debéis acceder al Área de cliente de OVH a la sección Sunrise
Una vez dentro veréis algo parecido a esto.
Si entráis dentro veréis algo parecido a esto.
Aquí tenéis varios datos que luego usaremos.
IPv4 la dirección ip que usaremos para apuntar el DNS que previamente hemos apuntado a nuestro VPS.
IPv4 de sortie son las ips que habilitaremos en el cortafuegos para capar el acceso al puerto.
Zone el lugar donde esta el centro de datos.
Configuración OVH SSL Gateway
Una vez tenemos el valor de IPv4 debemos modificar el DNS para que apunte a la IP que nos indican.
En CloudFlare por ejemplo sería así, simplemente es cambiar el registro A de tu dominio.
Una vez modificada la dirección IP vamos a activar el SSL en OVH SSL Gateway
En esta pantalla activaremos Redirection HTTPS y Serveur HTTPS
Le damos al botón azul de actualizar para Guardar.
Una vez de damos a editar en Adresse debemos indicar la IP de nuestro VPS en Port dejarlo configurado como 5678 ya está el balanceador configurado tardará un poco y dejará el servicio funcionando, vamos a por N8N.
Instalación de N8N
Puedes instalar n8n de esta forma simplificada.
Instalación de Docker
Simplemente ejecuta este comando.
/bin/bash -c "$(curl -fsSL https://get.docker.com)"
Variables de entorno para N8N
Copia este comando en el bloc de notas y modifica los siguientes valores.
echo 'N8N_HOST=n8n.aitorroma.com
N8N_PROTOCOL=https
WEBHOOK_TUNNEL_URL=https://n8n.aitorroma.com/
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=lacontraseña
EXECUTIONS_DATA_PRUNE=true
EXECUTIONS_DATA_MAX_AGE=336
GENERIC_TIMEZONE=Europe/Madrid' > ~/.env-n8n
- N8N_HOST
- WEBHOOK_TUNNEL_URL
- N8N_BASIC_AUTH_PASSWORD
Una vez modificadas estas variables, pega en la terminal para crear el fichero de configuración.
Instalación de N8N y Script de Actualización
Ahora ejecuta este comando.
/bin/bash -c "$(curl -fsSL https://update.aitorroma.com)" && /etc/cron.hourly/n8n-update.sh
Con este último comando instalaras las actualizaciones autómaticas y al ejecutarlo por primera vez instalaras n8n.
Configuración del Cortafuegos
Ahora vamos a darle un poco de seguridad a nuestro VPS partiremos que ya tienes cortafuego activado vamos a configurar el acceso a N8N solo desde OVH SSL Gateway.
Partimos de los datos que aparecen en IPv4 de sortie cada instalación puede ser diferente por lo que tendrás que adaptarlo a tu configuración.
Voy a mostrar como configurar las reglas en CentOS 7 y Superior y en Ubuntu que son los sistemas más usados en Debian podrías instalar firewall-cmd sin problema.
CentOS
Para centos crearemos una nueva zona de firewalld donde le asignaremos el acceso al puerto de está forma podremos filtrar solo por el puerto que nos interesa.
firewall-cmd --permanent --new-zone=n8n
firewall-cmd --permanent --add-port=5678/tcp --zone=n8n
firewall-cmd --permanent --zone=n8n --add-source=213.32.4.0/24
firewall-cmd --permanent --zone=n8n --add-source=54.39.240.0/24
firewall-cmd --permanent --zone=n8n --add-source=144.217.9.0/24
firewall-cmd --reload
firewall-cmd --list-all --zone=n8n
n8n (active)
target: default
icmp-block-inversion: no
interfaces:
sources: 213.32.4.0/24 54.39.240.0/24 144.217.9.0/24
services:
ports: 5678/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Ubuntu
Para ubuntu ejecutaremos estos comando para permitir el acceso al puerto 5678 desde los rangos de OVH
sudo ufw allow from 213.32.4.0/24 to any port 5678
sudo ufw allow from 54.39.240.0/24 to any port 5678
sudo ufw allow from 144.217.9.0/24 to any port 5678
Una vez realizado esto si todo va bien ya podríais acceder a vuestro panel con dominio personalizado utilizando OVH SSL Gateway