Protégez l'éditeur
Placez l'éditeur derrière HTTPS et une authentification prise en charge. Restreignez l'accès administratif et évitez l'inscription publique lorsqu'elle n'est pas nécessaire. Les routes de webhook nécessitent leurs propres décisions d'exposition et d'authentification.
Conservez la clé d'identifiant
Sauvegardez la clé de chiffrement configurée avec une protection appropriée. Restaurer une base de données sans la bonne clé peut rendre les identifiants enregistrés inutilisables. Gardez la clé hors des captures d'écran, des dépôts et des journaux non filtrés.
Dimensionnez délibérément le chemin d'exécution
Pour une configuration chargée, examinez le modèle pris en charge de base de données, de file d'attente et de workers. Redis et des workers séparés ajoutent leurs propres exigences d'accès et de persistance. Limitez les tâches simultanées afin qu'un pic ne puisse pas épuiser le VPS ou un budget API externe.
Ne conservez que les données d'exécution utiles
Les flux de travail peuvent traiter des jetons, des données personnelles et des documents. Configurez l'élagage de l'historique d'exécution, masquez les valeurs sensibles et définissez soigneusement les nouvelles tentatives. Un webhook dupliqué ne doit pas provoquer un second paiement ou message involontaire.
Traiter la clé de chiffrement comme faisant partie de la base de données
Les identifiants enregistrés dépendent de la clé de chiffrement de n8n. Conservez le répertoire d'état contenant une clé générée automatiquement ou définissez N8N_ENCRYPTION_KEY à partir d'un coffre de secrets privé. Tous les workers de file d'attente ont besoin de la même clé que le processus principal. Testez la restauration avec un identifiant jetable ; une base de données restaurée seule peut sembler saine alors que ses identifiants restent illisibles.
- Conservez la clé en dehors du répertoire public et du dépôt
- Sauvegardez la base de données de manière cohérente
- Utilisez PostgreSQL pris en charge pour le déploiement de production prévu
Documentation officielle : configuration de clé de chiffrement n8n
Donnez aux webhooks leur adresse publique
Un reverse proxy tel que Caddy peut terminer HTTPS tandis que n8n écoute en interne. La documentation actuelle utilise N8N_WEBHOOK_URL pour l'origine webhook externe et remplace l'ancien nom WEBHOOK_URL de la version 2.35.0. Définissez le nombre de sauts de proxy de confiance sur le chemin réel ; un seul proxy utilise N8N_PROXY_HOPS=1. Préservez l'hôte, le protocole et les informations client transmis. Testez un webhook depuis l'extérieur du serveur et vérifiez son URL de production.
- Définir délibérément le fuseau horaire du workflow
- Élaguer l'historique d'exécution contenant des entrées sensibles
- N’utilisez les workers de file d’attente et Redis qu’avec les contrôles d’accès privés requis
# Example: one HTTPS reverse proxy
N8N_WEBHOOK_URL=https://automations.example.com/
N8N_PROXY_HOPS=1Documentation officielle : n8n derrière un proxy inverse
Définir la charge de travail et les intégrations autorisées
Listez les déclencheurs, les comptes externes, le volume d'exécution attendu et la dépense maximale ou l'effet de bord que chaque workflow peut créer. Vérifiez la licence n8n pour l'usage réel, en particulier si vous le proposez comme service à d'autres. Un petit workflow planifié et un processeur de webhooks public ont des besoins en ressources différents. Commencez par une version prise en charge, un état persistant privé, un nom TLS et une base de données adaptée au déploiement ; évitez d'exposer les ports de la base de données avec l'éditeur.
- Utilisez des identifiants restreints distincts pour chaque intégration.
- Définissez le fuseau horaire prévu du workflow et la conservation de l'historique d'exécution.
- Gardez les workflows exportés exempts de secrets réels intégrés.
Documentation officielle : Déploiement Docker n8n
Définissez l'origine publique du webhook pour la version installée
Un reverse proxy tel que Caddy atteint n8n en interne tandis que les services externes appellent son origine webhook HTTPS. Utilisez la variable URL webhook documentée pour la version installée ; la documentation actuelle la nomme N8N_WEBHOOK_URL, tandis que les versions plus anciennes utilisaient WEBHOOK_URL. Définissez le nombre réel de sauts de proxy plutôt que de faire confiance à des en-têtes transmis arbitraires. Séparez la politique d'accès à l'éditeur de l'authentification webhook, et vérifiez que le rappel de production ne contient pas d'hôte ou de port interne.
# Example values for a supported current release, behind one proxy:
N8N_WEBHOOK_URL=https://automations.example.com/
N8N_PROXY_HOPS=1Documentation officielle : paramètres de proxy inverse de webhook n8n
Testez un flux inoffensif avant d'accorder un accès en écriture
Commencez par une requête en lecture seule ou un enregistrement de test jetable. Testez le webhook de production depuis l'extérieur du VPS, le rejet d'authentification et une nouvelle tentative délibérée. Une requête répétée ne doit pas créer accidentellement une seconde action à conséquence. Vérifiez les journaux d'exécution pour détecter des entrées divulguées, puis appliquez une politique de conservation. Si un webhook ne fonctionne qu'en mode test de l'éditeur, vérifiez si le workflow est publié/actif et si les routes de production et de test atteignent le bon processus.
- Utilisez un identifiant d'intégration jetable pour tester une restauration.
- Conservez une copie chiffrée indépendante de N8N_ENCRYPTION_KEY ou de l'état de clé généré.
- N'envoyez pas d'exemples de mots de passe ni de jetons API dans des sorties de débogage conservées.
Documentation officielle : clé de chiffrement n8n
N'augmentez la capacité qu'après avoir observé le goulot d'étranglement de l'exécution
Le mode file d'attente ajoute Redis, des workers et une base de données partagée ; le processus principal reçoit les déclencheurs tandis que les workers exécutent les exécutions. Chaque worker doit utiliser la même clé de chiffrement des identifiants. Respectez les exigences actuelles de stockage des données binaires avant de déplacer un workflow avec des fichiers en mode file d'attente. Limitez la concurrence et les budgets API en amont, et surveillez l'âge et les échecs de la file d'attente. Sauvegardez ensemble la base de données, l'état et la clé ; redémarrer un conteneur n'est pas un plan de récupération pour des identifiants enregistrés illisibles.
Documentation officielle : Mode file d'attente de n8n · Paramètres d'élagage des exécutions