Proteggi l'editor
Colloca l'editor dietro HTTPS e un'autenticazione supportata. Limita l'accesso amministrativo ed evita la registrazione pubblica quando non è necessaria. Le rotte dei webhook richiedono decisioni proprie in materia di esposizione e autenticazione.
Conserva la chiave della credenziale
Esegui il backup della chiave di cifratura configurata con una protezione adeguata. Ripristinare un database senza la chiave corretta può rendere inutilizzabili le credenziali salvate. Tieni la chiave fuori da screenshot, repository e log non filtrati.
Scala deliberatamente il percorso di esecuzione
Per una configurazione intensa, esamina il modello supportato di database, coda e lavoratori. Redis e lavoratori separati aggiungono propri requisiti di accesso e persistenza. Limita i processi simultanei affinché un picco non possa esaurire il budget VPS o un budget esterno API.
Conserva solo i dati di esecuzione utili
I flussi di lavoro possono gestire token, dati personali e documenti. Imposta l'eliminazione della cronologia di esecuzione, oscura i valori sensibili e definisci con attenzione i tentativi. Un webhook duplicato non deve causare un secondo pagamento o messaggio indesiderato.
Tratta la chiave di cifratura come parte del database
Le credenziali salvate dipendono dalla chiave di cifratura di n8n. Conserva la directory di stato che contiene una chiave generata automaticamente oppure imposta N8N_ENCRYPTION_KEY da un archivio segreto privato. Tutti i worker della coda necessitano della stessa chiave del processo principale. Verifica il ripristino con una credenziale usa e getta; un database ripristinato da solo può sembrare integro mentre le sue credenziali restano illeggibili.
- Tieni la chiave fuori dalla directory pubblica e dal repository
- Esegui backup coerenti del database
- Usa PostgreSQL supportato per la distribuzione di produzione prevista
Documentazione ufficiale: Configurazione della chiave di crittografia n8n
Assegna ai webhook il loro indirizzo pubblico
Un reverse proxy come Caddy può terminare HTTPS mentre n8n ascolta internamente. La documentazione attuale usa N8N_WEBHOOK_URL per l'origine webhook esterna e sostituisce il vecchio nome WEBHOOK_URL dalla versione 2.35.0. Imposta il numero di hop del proxy fidato sul percorso reale; un singolo proxy usa N8N_PROXY_HOPS=1. Preserva host, protocollo e informazioni del client inoltrati. Prova un webhook dall'esterno del server e verifica il suo URL di produzione.
- Imposta deliberatamente il fuso orario del workflow
- Elimina la cronologia di esecuzione che contiene input sensibili
- Usa i worker delle code e Redis solo con i controlli di accesso privato richiesti
# Example: one HTTPS reverse proxy
N8N_WEBHOOK_URL=https://automations.example.com/
N8N_PROXY_HOPS=1Documentazione ufficiale: n8n dietro un reverse proxy
Definisci il carico di lavoro e le integrazioni consentite
Elenca i trigger, gli account esterni, il volume di esecuzione previsto e la spesa massima o l'effetto collaterale che ogni workflow può creare. Controlla la licenza n8n per l'uso effettivo, soprattutto se la offri come servizio ad altri. Un piccolo workflow pianificato e un processore di webhook pubblico hanno esigenze di risorse diverse. Inizia con una release supportata, uno stato persistente privato, un nome TLS e un database adeguato al deployment; evita di esporre le porte del database con l'editor.
- Usa credenziali ristrette separate per ogni integrazione.
- Imposta il fuso orario previsto per il flusso di lavoro e la conservazione della cronologia di esecuzione.
- Mantieni i workflow esportati privi di segreti reali incorporati.
Documentazione ufficiale: n8n Deployment Docker
Imposta l'origine pubblica del webhook per la release installata
Un reverse proxy come Caddy raggiunge n8n internamente mentre i servizi esterni chiamano la sua origine webhook HTTPS. Usa la variabile URL del webhook documentata per la release installata; la documentazione attuale la chiama N8N_WEBHOOK_URL, mentre le release precedenti usavano WEBHOOK_URL. Imposta il numero reale di hop del proxy invece di fidarti di header inoltrati arbitrari. Mantieni la policy di accesso all'editor separata dall'autenticazione del webhook e verifica che il callback di produzione non contenga un host o una porta interni.
# Example values for a supported current release, behind one proxy:
N8N_WEBHOOK_URL=https://automations.example.com/
N8N_PROXY_HOPS=1Documentazione ufficiale: impostazioni del reverse proxy per webhook n8n
Prova un flusso di lavoro innocuo prima di concedere l'accesso in scrittura
Inizia con una richiesta in sola lettura o un record di test usa e getta. Prova il webhook di produzione dall'esterno del VPS, il rifiuto dell'autenticazione e un nuovo tentativo deliberato. Una richiesta ripetuta non deve creare accidentalmente una seconda azione con conseguenze. Controlla i log di esecuzione per individuare input esposti, poi applica una policy di conservazione. Se un webhook funziona solo nella modalità di test dell'editor, verifica se il workflow è pubblicato/attivo e se le route di produzione e di test raggiungono il processo corretto.
- Usa una credenziale di integrazione usa e getta per testare un ripristino.
- Conserva una copia cifrata indipendente di N8N_ENCRYPTION_KEY o dello stato della chiave generata.
- Non inviare password di esempio o token API nell'output di debug conservato.
Documentazione ufficiale: chiave di crittografia n8n
Scala solo dopo aver osservato il collo di bottiglia nell'esecuzione
La modalità coda aggiunge Redis, worker e un database condiviso; il processo principale riceve i trigger mentre i worker eseguono le esecuzioni. Ogni worker deve usare la stessa chiave di cifratura delle credenziali. Segui i requisiti attuali di archiviazione dei dati binari prima di spostare un workflow con file in modalità coda. Limita la concorrenza e i budget API upstream, e monitora l'età della coda e i fallimenti. Esegui il backup di database, stato e chiave insieme; riavviare un container non è un piano di ripristino per credenziali salvate illeggibili.
Documentazione ufficiale: modalità coda di n8n · Impostazioni di eliminazione delle esecuzioni