Configurer Ubuntu 24.04 + n8n pour une utilisation avec SSL (Certificat SSL de IONOS)
Veuillez utiliser la fonction « Imprimer » au bas de la page pour créer un PDF.
Pour VPS et Serveur Cloud migré
Dans cet article, vous apprendrez tout d'abord comment installer l'image Ubuntu 24.04 + n8n sur votre serveur. n8n est mis à disposition dans le cadre de l'installation dans un container Docker. L'image n8n mise à disposition par IONOS ne contient pas de certificat SSL pour l'adresse IP fournie, de sorte que seul un accès via le protocole HTTP non chiffré est possible dans un premier temps. Pour pouvoir accéder à n8n via une connexion chiffrée , une configuration manuelle est nécessaire. La manière de préparer la configuration et de configurer n8n est expliquée dans la suite de l'article.
Résumé des étapes nécessaires
Les étapes nécessaires sont brièvement décrites ci-dessous :
Installer l'image sur le serveur.
- Préparer la configuration.
- Établir une connexion SSH au serveur.
- Enregistrer les fichiers de certificats SSL dans l'hôte.
- Créer un fichier fullchain.
- Configurer n8n pour la connexion SSL.
- Accéder à l'interface n8n.
Avertissement
Si vous réinstallez une image sur un serveur existant, toutes les données existantes sur le serveur seront irrémédiablement supprimées et remplacées par les données de la nouvelle image installée. Ce processus ne peut pas être annulé. Assurez-vous de faire une sauvegarde du serveur avant d'installer l'image. Dans le cas contraire, vous risquez de perdre des données.
Installer une image sur le serveur
Pour installer l'image Ubuntu 24.04 + n8n, procédez comme suit :
- Connectez-vous à votre compte IONOS.
Dans la barre de titre, cliquez sur Menu > Serveurs & Cloud.
Facultatif : Si vous avez plus d'un contrat Serveurs et Cloud, sélectionnez celui que vous souhaitez. Si vous n'avez qu'un seul contrat, il sera ouvert directement.
- Dans la section Infrastructure > Serveurs, cliquez sur le serveur souhaité.
- Cliquez sur Actions.
- Cliquez sur Réinstaller une image. La zone Réinstaller une image s'affiche.

- Dans la vignette Ubuntu, cliquez sur la flèche vers le bas.
- Sélectionnez l'image Ubuntu 24.04 + n8n.
- Cliquez sur Réinstaller l'image. L'image est alors installée. Ce processus peut prendre quelques minutes.
- Notez l'adresse IP du serveur. Celle-ci sera nécessaire par la suite pour connecter votre domaine.
Remarques
Après l'installation, le port 80, le port 443 et le port 5678 doivent être activés dans le pare-feu. Vous trouverez de plus amples informations à ce sujet dans la section Préparation de la configuration.
Après l'installation, vous pouvez accédez à votre instance n8n à l'adresse IP de votre serveur et au numéro de port standard de n8n : http://IP-ADRESSE_DU_SERVEUR:5678
Préparer la configuration
Pour établir une connexion chiffrée avec n8n, il faut un domaine auquel on peut accéder. De plus, un certificat SSL est nécessaire pour le domaine.
Commander un domaine
Si vous n'avez pas encore commandé de domaine pour votre serveur, vous pouvez en commander un à tout moment. Vous trouverez des instructions dans l'article suivant du Centre d'Assistance : Commander un domaine en tant que client IONOS
Créer un sous-domaine
Créez un sous-domaine dans le format suivant : n8n.exemple.com
Remplacez ici le caractère de remplacement exemple.com par le domaine que vous avez choisi. L'article suivant du Centre d'Assistance explique comment créer un sous-domaine dans votre compte IONOS : Créer un sous-domaine
Commander un certificat SSL
Configurez un certificat SSL pour votre sous-domaine. Si vous avez déjà configuré un certificat SSL Wildcard pour le domaine, vous pouvez sauter cette étape. Les certificats SSL Wildcard sont valables à la fois pour votre domaine et votre sous-domaine.
Si vous commandez un certificat SSL Starter, vous pouvez l'utiliser pour votre sous-domaine. L'article suivant du Centre d'Assistance explique comment configurer un certificat SSL : Configurer un certificat SSL géré par l'utilisateur (SSL Starter / SSL Starter Wildcard)
Télécharger les fichiers de certificat SSL pour une installation manuelle
Vous trouverez des instructions sur la manière de télécharger les fichiers de certificat SSL pour une installation manuelle dans l'article suivant du Centre d'Assistance : Télécharger les fichiers de certificats SSL pour l'installation manuelle
Connecter le domaine à l'adresse IP statique du serveur
Vous trouverez des instructions sur la manière de connecter votre domaine à l'adresse IP statique de votre serveur dans l'article suivant du Centre d'Assistance : Modifier l'adresse IPv4/IPv6 d'un domaine (enregistrement A/AAAA)
Configurer le pare-feu
Assurez-vous que les ports suivants sont activés dans la stratégie de pare-feu :
Port 80
Port 443
Port 5678
Vous trouverez des instructions dans l'article suivant du Centre d'Assistance : Modifier la politique de pare-feu (VPS et Serveur Cloud migré)
Établir une connexion SSH avec le serveur
Dans l'étape suivante, établissez une connexion SSH avec votre serveur. Connectez-vous en tant que root. Vous trouverez des instructions à ce sujet dans les articles suivants du Centre d'Assistance :
Établir une connexion SSH à votre serveur Linux sur un ordinateur équipé de Microsoft Windows
Établir une connexion SSH à votre serveur Linux sur un ordinateur Linux
Enregistrer les fichiers de certificats SSL dans l'hôte
Pour enregistrer les fichiers de certificats SSL dans l'hôte, procédez comme suit :
Les fichiers de certificat se trouvent déjà sur le serveur
Créez un dossier dans le répertoire /opt/ :
root@ubuntu:~# mkdir -p /opt/certs
Copiez les fichiers dans le dossier. Si les fichiers de certificat se trouvent déjà sur le serveur, utilisez la commande suivante et adaptez-la :
root@ubuntu:~# cp /path/to/Certificat-SSL_Pour_DOMAINE.cer /opt/certs/
root@ubuntu:~# cp /path/to/CERTIFICAT-INTERMEDIAIRE_1.cer /opt/certs/
root@ubuntu:~# cp /path/to/CERTIFICAT-INTERMEDIAIRE_2.cer /opt/certs/
root@ubuntu:~# cp /path/to/Private_Key_Pour_DOMAINE.key /opt/certs/
Les fichiers de certificat se trouvent déjà sur un ordinateur équipé du système d'exploitation Microsoft Windows
Si les fichiers de certificat se trouvent sur un ordinateur équipé du système d'exploitation Microsoft Windows, procédez comme suit :
- Dans la barre de recherche qui se trouve dans la barre des tâches, saisissez la commande cmd.
- Double-cliquez sur Invite de commandes.
Utilisez la commande scp pour copier les fichiers de Windows vers le système Linux. Dans l'exemple suivant, nous supposons que les fichiers de certificat se trouvent dans le dossier C:\Certificats-SSL. Remplacez avant de saisir :
username : avec votre nom d'utilisateur réel sur le serveur.
remote-server-ip avec l'adresse IP ou le nom d'hôte de votre serveur.
Certificat-SSL_Pour_DOMAINE.cer et Private_Key_Pour_DOMAINE.key avec les noms de fichiers réels.
CERTIFICAT-INTERMEDIAIRE_1.cer et CERTIFICAT-INTERMEDIAIRE_2.cer avec les noms de fichiers réels.scp C:\Certificats-SSL\Certificat-SSL_Pour_DOMAINE.cer username@remote-server-ip:/opt/certs/
scp C:\Certificats-SSL\CERTIFICAT-INTERMEDIAIRE_1.cer username@remote-server-ip:/opt/certs/
scp C:\Certificats-SSL\CERTIFICAT-INTERMEDIAIRE_2.cer username@remote-server-ip:/opt/certs/
scp C:\Certificats-SSL\Private_Key_Pour_DOMAINE.key username@remote-server-ip:/opt/certs/
Vous pouvez également transférer les fichiers de manière simple et pratique à l'aide du programme WinSCP. WinSCP est un client graphique SFTP et FTP open source pour Windows. Vous pouvez télécharger le programme sur la page suivante du fournisseur : WinSCP Download
Attribuer des droits de lecture
Passez dans le répertoire où se trouvent les certificats SSL. Exemple :
root@ubuntu:~# cd /opt/certs
Pour que les fichiers puissent être lus, saisissez les commandes suivantes sur le VPS :
sudo chmod 755 /path/to
sudo chmod 644 /path/to
Exemples :
sudo chmod 755 /opt/certs
sudo chmod 644 /opt/certs/*
Créer un fichier fullchain
Pour inclure les certificats intermédiaires, vous devez créer un seul fichier de certificat contenant l'ensemble de la "chaîne de confiance" (chain of trust). Pour ce faire, procédez comme suit :
Allez dans le répertoire /opt/certs :
root@ubuntu:~# cd /opt/certs
Créez un fichier "fullchain" avec la commande suivante. La commande cat accroche les fichiers les uns aux autres dans le bon ordre. Remplacez le caractère de remplacement Certificat_SSL_Pour_DOMAIN.cer par le certificat SSL pour votre domaine et les caractères de remplacement pour les certificats intermédiaires. Assurez-vous que les noms de fichiers sont corrects.
root@ubuntu:/opt/certs# cat Certificat_SSL_Pour_DOMAINE.cer intermediaire1.cer intermediaire2.cer > n8n.fullchain.cer
Le fichier "fullchain" est créé.
Configurer n8n pour une connexion SSL
Attention
Ces étapes désactivent l'instance non sécurisée installée et installent une nouvelle instance n8n sécurisée par un certificat SSL de IONOS. Si vous effectuez ces étapes après avoir travaillé un certain temps avec l'instance non sécurisée, nous vous recommandons d'exporter d'abord les éventuels workflows et autres contenus créés afin de pouvoir les importer dans la nouvelle instance. Vous apprendrez ici comment cela fonctionne dans la documentation de n8n : Exporting and importing workflows | n8n Docs
Pour créer un nouveau répertoire nommé n8n-compose sur votre serveur, saisissez la commande suivante :
root@ubuntu:~# mkdir n8n-compose
Pour continuer à travailler dans le répertoire nouvellement créé, basculez dans le nouveau répertoire :
root@ubuntu:~# cd n8n-compose
Dans ce répertoire, créez un fichier avec l'extension .env à l'aide de l'éditeur vi. Ce fichier sera utilisé pour définir les variables d'environnement qui seront utilisées dans le fichier Docker Compose.
root@ubuntu:~/n8n-compose# vi .env
Remarques
L'éditeur vi dispose d'un mode d'insertion et d'un mode de commande ou d'instruction. Vous pouvez accéder au mode d'insertion en appuyant sur la touche [i]. Dans ce mode, les caractères saisis sont immédiatement insérés dans le texte. Pour quitter le mode d'insertion et accéder au mode de commande, appuyez ensuite sur [ESC]. Lorsque vous utilisez le mode commande, vos saisies au clavier sont interprétées comme des commandes.
Dans le fichier .env, ajoutez les informations ci-dessous et remplacez le caractère de remplacement example.com et le caractère de remplacement du fuseau horaire. Ces variables seront référencées dans le fichier compose.yaml à une étape ultérieure et serviront à définir les paramètres du domaine et le standard de fuseau horaire souhaité.
# DOMAIN_NAME and SUBDOMAIN together determine where n8n will be reachable from
# The top level domain to serve from
DOMAIN_NAME=example.com
# The subdomain to serve from
SUBDOMAIN=n8n
# The above example serves n8n at: https://n8n.example.com
# Optional timezone to set which gets used by Cron and other scheduling nodes
GENERIC_TIMEZONE=Europe/Berlin- Appuyez sur la touche [ESC].
Pour quitter vi et enregistrer le fichier, saisissez la commande suivante, puis appuyez sur la touche Entrée :
:wq
Créez le fichier traefik.yaml à l'aide de la commande suivante :
root@ubuntu:~/n8n-compose# vi traefik.yaml
Ajoutez les informations suivantes en faisant attention aux indentations :
# Configuration statique de Traefik (traefik.yaml)
api:
insecure: true # Autorise le tableau de bord de Traefik (optionnel)
providers:
docker:
exposedByDefault: false # Seuls les conteneurs avec 'traefik.enable=true' sont pris en compte
file:
directory: /etc/traefik/dynamic # chemin *im Container*
watch: true # Faire attention aux changements
entryPoints:
web:
address: ":80"
# Redirection automatique de HTTP vers HTTPS
http:
middlewares:
- redirect-to-https@file
websecure:
address: ":443"
http:
tls: {} # Activer globalement TLS pour ce point d'entrée- Appuyez sur la touche [ESC].
Pour quitter vi et enregistrer le fichier, saisissez la commande suivante et appuyez ensuite sur la touche Entrée :
:wq
Créez un nouveau répertoire avec le nom dynamic :
root@ubuntu:~/n8n-compose# mkdir dynamic
Créez un fichier de certificat dynamique :
root@ubuntu:~/n8n-compose# vi dynamic/certificates.yaml
Ajoutez les informations suivantes et remplacez le caractère générique Private_Key_Pour_DOMAINE.key. Faites attention à l'indentation :
# Configuration dynamique : certificats
tls:
certificats :
# Chemin *à l'intérieur du conteneur* vers la chaîne
- certFile: /opt/certs/n8n.fullchain.cer
keyFile: /opt/certs/Private_Key_Pour_DOMAINE.key
# Configuration dynamique : Redirection globale HTTP vers HTTPS
http:
middlewares:
redirect-to-https:
redirectScheme:
scheme: https
permanent: true- Vérifiez les chemins d'accès dans les lignes certFile et keyFile et adaptez-les si nécessaire.
- Appuyez sur la touche [ESC].
Pour quitter vi et enregistrer le fichier, saisissez la commande suivante et appuyez ensuite sur la touche Entrée :
:wq
Créez un répertoire appelé local-files. Celui-ci sera utilisé comme bind-mount pour permettre l'accès aux fichiers depuis le conteneur. Pour cela, saisissez la commande suivante :
root@ubuntu:~/n8n-compose# mkdir local-files
Pour créer le fichier composite Docker nécessaire, saisissez la commande suivante :
root@ubuntu:~/n8n-compose# vi compose.yaml
Ajoutez les informations ci-dessous en veillant à ce que les entrées de la section # Définition du middleware d'en-tête de sécurité (nom : n8n-secure-headers) soient sur une seule ligne.
services:
traefik:
image: "traefik:v2.11" # Version fixe pour la stabilité
restart: always
command:
- "--configFile=/etc/traefik/traefik.yaml"
ports:
- "80:80"
- "443:443"
- "127.0.0.1:8080:8080"
volumes:
- traefik_data:/data # Mémoire interne pour Traefik (par ex.Par ex. infos ACME, si utilisées)
- /var/run/docker.sock:/var/run/docker.sock:ro
# onter les certificats (comme précédemment)
- /opt/certs:/opt/certs:ro
# Monter le nouveau fichier de configuration statique
- ./traefik.yaml:/etc/traefik/traefik.yaml:ro
# Monter le nouveau dossier de config dynamique
- ./dynamic:/etc/traefik/dynamic:ro
n8n:
image: docker.n8n.io/n8nio/n8n
restart: always
ports:
- "127.0.0.1:5678:5678"
labels:
- traefik.enable=true
- traefik.http.routers.n8n.rule=Host(`${SUBDOMAIN}.${DOMAIN_NAME}`)
# Le routeur n'écoute que 'websecure' (HTTPS)
- traefik.http.routers.n8n.entrypoints=websecure
# Indique au routeur d'utiliser TLS
- traefik.http.routers.n8n.tls=true
# Définition du middleware d'en-tête de sécurité (nom : n8n-secure-headers)
- traefik.http.middlewares.n8n-secure-headers.headers.STSSeconds=315360000
- traefik.http.middlewares.n8n-secure-headers.headers.browserXSSFilter=true
- traefik.http.middlewares.n8n-secure-headers.headers.contentTypeNosniff=true
- traefik.http.middlewares.n8n-secure-headers.headers.forceSTSHeader=true
- traefik.http.middlewares.n8n-secure-headers.headers.SSLHost=${DOMAIN_NAME}
- traefik.http.middlewares.n8n-secure-headers.headers.STSIncludeSubdomains=true
- traefik.http.middlewares.n8n-secure-headers.headers.STSPreload=true
# Assignation du middleware au routeur
- traefik.http.routers.n8n.middlewares=n8n-secure-headers@docker
environment:
# Ces variables d'environnement utilisent le fichier .env
- N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
- N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
- N8N_PORT=5678
- N8N_PROTOCOL=https
- N8N_RUNNERS_ENABLED=true
- NODE_ENV=production
- WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
- GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
- TZ=${GENERIC_TIMEZONE}
volumes:
- n8n_data:/home/node/.n8n
- ./local-files:/files
volumes:
n8n_data:
traefik_data:
- Appuyez sur la touche [ESC].
Pour quitter vi et enregistrer le fichier, saisissez la commande suivante et appuyez ensuite sur la touche Entrée :
:wq
Pour savoir quel processus utilise le port 5678, saisissez la commande suivante :
root@ubuntu:~/n8n-compose# sudo lsof -i :5678
Pour mettre fin à un processus, adaptez la commande suivante et saisissez -la :
root@ubuntu:~/n8n-compose# sudo kill INSERER_ICI_LE_PID
Une fois la personnalisation terminée, saisissez la commande suivante pour arrêter les anciens conteneurs :
root@ubuntu:~/n8n-compose# docker compose down
Pour lancer les conteneurs définis dans compose.yaml en tant que démons en arrière-plan, saisissez la commande ci-dessous. Cette commande permet de démarrer et de configurer les instances de Traefik et de n8n.
root@ubuntu:~/n8n-compose# docker compose up -d
Pour vérifier si les conteneurs fonctionnent, saisissez la commande suivante :
root@ubuntu:~/n8n-compose# docker ps
Assurez-vous que les 2 conteneurs suivants sont en cours d'exécution et que leur statut est "UP". Pour ce faire, saisissez les commandes suivantes.
root@ubuntu:~/n8n-compose# n8n-compose-traefik-1
root@ubuntu:~/n8n-compose# n8n-compose-n8n-1
Aide en cas de problème
Si l'un des conteneurs n'a pas le statut "Up" (par exemple "Restarting" ou "Exited"), voilà l'erreur. Dans ce cas, vérifiez les entrées de log de Traefik. Pour cela, saisissez la commande suivante :
root@ubuntu:~/n8n-compose# docker logs n8n-compose-traefik-1
Recherchez ensuite les messages d'erreur, par exemple :
certificate not found
unable to read
permission denied (cela indiquerait un problème de chmod)
router not found for domain- Vérifiez les paramètres du pare-feu dans le Cloud Panel et assurez-vous que le trafic entrant est autorisé pour le port 80 (TCP) et le port 443 (TCP).
- Vérifiez l'accessibilité du sous-domaine.
- Vérifiez l'indentation des fichiers .yaml.
Accéder à l'interface n8n
Une fois que les services Docker (conteneurs) ont été lancés avec succès, l'accès à n8n est géré par le proxy Traefik. Traefik assure le chiffrement SSL et transmet les demandes à votre instance n8n. L'accès se fait maintenant exclusivement via le domaine que vous avez configuré auparavant dans le fichier .env.
Remarque
L'accès direct via http://SERVER-IP:5678 n'est plus possible. La configuration dans compose.yaml (sous ports : - "127.0.0.1:5678:5678") fait en sorte que n8n ne soit accessible qu'en "interne" (pour Traefik), mais pas publiquement via l'IP du serveur.
- Ouvrez votre navigateur.
- Saisissez l'URL complète et sécurisée, composée des variables SUBDOMAIN et DOMAIN_NAME de votre fichier .env. Exemple :
https://n8n.exemple.com - Lors de la première connexion, la fenêtre Set up owner account s'affiche. Dans le champ Email, saisissez l'adresse e-mail souhaitée.
- Dans les champs First Name et Last Name, saisissez le prénom et le nom de famille souhaités.
- Dans le champ Password, saisissez un mot de passe.
- Cliquez sur Next. La fenêtre Customize n8n to you s'ouvre.

- Répondez aux questions dans la fenêtre Customize n8n to you puis cliquez sur Get started. Vous pouvez ensuite utiliser n8n.

Contenu
- Résumé des étapes nécessaires
- Installer une image sur le serveur
- Préparer la configuration
- Établir une connexion SSH avec le serveur
- Enregistrer les fichiers de certificats SSL dans l'hôte
- Créer un fichier fullchain
- Configurer n8n pour une connexion SSL
- Aide en cas de problème
- Accéder à l'interface n8n
- Haut de page