Chroń edytor
Umieść edytor za HTTPS i obsługiwanym uwierzytelnianiem. Ogranicz dostęp administracyjny i unikaj publicznej rejestracji, gdy nie jest konieczna. Trasy webhooków wymagają własnych decyzji dotyczących ekspozycji i uwierzytelniania.
Zachowaj klucz poświadczeń
Twórz kopię zapasową skonfigurowanego klucza szyfrowania z odpowiednią ochroną. Odtworzenie bazy danych bez właściwego klucza może pozostawić zapisane poświadczenia bezużytecznymi. Trzymaj klucz poza zrzutami ekranu, repozytoriami i niefiltrowanymi logami.
Skaluj ścieżkę wykonania świadomie
W przypadku intensywnego wdrożenia sprawdź obsługiwany model bazy danych, kolejki i procesów roboczych. Redis i osobne procesy robocze dodają własne wymagania dotyczące dostępu i trwałości. Ogranicz równoczesne zadania, aby nagły wzrost nie wyczerpał VPS ani zewnętrznego budżetu API.
Zachowaj tylko przydatne dane wykonania
Przepływy pracy mogą obsługiwać tokeny, dane osobowe i dokumenty. Ustaw przycinanie historii wykonań, redaguj wrażliwe wartości i starannie definiuj ponowienia. Zduplikowany webhook nie może spowodować niezamierzonej drugiej płatności lub wiadomości.
Traktuj klucz szyfrowania jako część bazy danych
Zapisane poświadczenia zależą od klucza szyfrowania n8n. Zachowaj katalog stanu zawierający automatycznie wygenerowany klucz lub ustaw N8N_ENCRYPTION_KEY z prywatnego magazynu sekretów. Wszystkie workery kolejki potrzebują tego samego klucza co proces główny. Przetestuj odtworzenie za pomocą jednorazowych poświadczeń; sama odtworzona baza danych może wyglądać na sprawną, podczas gdy jej poświadczenia pozostają nieczytelne.
- Trzymaj klucz poza katalogiem publicznym i repozytorium
- Regularnie twórz kopie zapasowe bazy danych
- Użyj obsługiwanego PostgreSQL do zamierzonego wdrożenia produkcyjnego
Oficjalna dokumentacja: konfiguracja klucza szyfrowania n8n
Nadaj webhookom ich publiczny adres
Reverse proxy taki jak Caddy może zakończyć HTTPS, podczas gdy n8n nasłuchuje wewnętrznie. Bieżąca dokumentacja używa N8N_WEBHOOK_URL dla zewnętrznego pochodzenia webhooka i zastępuje starszą nazwę WEBHOOK_URL od wersji 2.35.0. Ustaw liczbę zaufanych przeskoków proxy na rzeczywistą ścieżkę; pojedyncze proxy używa N8N_PROXY_HOPS=1. Zachowaj przekazywany host, protokół i informacje o kliencie. Przetestuj webhook spoza serwera i zweryfikuj jego produkcyjny URL.
- Świadomie ustaw strefę czasową przepływu pracy
- Przycinaj historię wykonań zawierającą wrażliwe dane wejściowe
- Używaj workerów kolejki i Redis tylko z wymaganymi prywatnymi kontrolami dostępu
# Example: one HTTPS reverse proxy
N8N_WEBHOOK_URL=https://automations.example.com/
N8N_PROXY_HOPS=1Oficjalna dokumentacja: n8n za reverse proxy
Zdefiniuj obciążenie i dozwolone integracje
Wymień wyzwalacze, konta zewnętrzne, oczekiwany wolumen wykonania oraz maksymalne wydatki lub skutki uboczne, jakie może wywołać każdy przepływ pracy. Sprawdź licencję n8n pod kątem faktycznego użycia, zwłaszcza jeśli oferujesz go jako usługę innym. Mały zaplanowany przepływ pracy i publiczny procesor webhooków mają różne potrzeby zasobowe. Zacznij od wspieranej wersji, prywatnego trwałego stanu, nazwy TLS i bazy danych odpowiedniej dla wdrożenia; unikaj wystawiania portów bazy danych wraz z edytorem.
- Używaj oddzielnych ograniczonych poświadczeń dla każdej integracji.
- Ustaw docelową strefę czasową przepływu pracy i retencję historii wykonania.
- Utrzymuj eksportowane przepływy pracy wolne od osadzonych prawdziwych sekretów.
Oficjalna dokumentacja: n8n wdrożenie Docker
Ustaw publiczne źródło webhooka dla zainstalowanej wersji
Reverse proxy taki jak Caddy dociera do n8n wewnętrznie, podczas gdy usługi zewnętrzne wywołują jego pochodzenie webhooka HTTPS. Użyj zmiennej URL webhooka udokumentowanej dla zainstalowanego wydania; bieżąca dokumentacja nazywa ją N8N_WEBHOOK_URL, podczas gdy starsze wydania używały WEBHOOK_URL. Ustaw rzeczywistą liczbę przeskoków proxy, zamiast ufać dowolnym przekazywanym nagłówkom. Utrzymuj politykę dostępu do edytora oddzielnie od uwierzytelniania webhooka i zweryfikuj, że produkcyjne wywołanie zwrotne nie zawiera wewnętrznego hosta ani portu.
# Example values for a supported current release, behind one proxy:
N8N_WEBHOOK_URL=https://automations.example.com/
N8N_PROXY_HOPS=1Oficjalna dokumentacja: ustawienia odwrotnego proxy webhooka n8n
Przetestuj nieszkodliwy przepływ pracy przed przyznaniem dostępu do zapisu
Zacznij od żądania tylko do odczytu lub jednorazowego rekordu testowego. Przetestuj produkcyjny webhook spoza VPS, odrzucenie uwierzytelnienia i celowe ponowienie. Powtórzone żądanie nie może przypadkowo utworzyć drugiej istotnej akcji. Sprawdź dzienniki wykonania pod kątem ujawnionych danych wejściowych, a następnie zastosuj politykę retencji. Jeśli webhook działa tylko w trybie testowym edytora, sprawdź, czy przepływ pracy jest opublikowany/aktywny oraz czy trasy produkcyjna i testowa trafiają do właściwego procesu.
- Użyj jednorazowego poświadczenia integracyjnego, aby przetestować przywracanie.
- Zachowaj niezależną zaszyfrowaną kopię N8N_ENCRYPTION_KEY lub wygenerowanego stanu klucza.
- Nie wysyłaj przykładowych haseł ani tokenów API do zachowywanych danych wyjściowych debugowania.
Oficjalna dokumentacja: klucz szyfrowania n8n
Skaluj dopiero po zaobserwowaniu wąskiego gardła wykonania
Tryb kolejki dodaje Redis, procesy robocze i współdzieloną bazę danych; proces główny odbiera wyzwalacze, a procesy robocze wykonują wykonania. Każdy proces roboczy musi używać tego samego klucza szyfrowania poświadczeń. Przed przeniesieniem przepływu pracy z plikami do trybu kolejki postępuj zgodnie z bieżącymi wymaganiami dotyczącymi przechowywania danych binarnych. Ogranicz współbieżność i budżety upstream API oraz monitoruj wiek kolejki i błędy. Twórz kopię zapasową bazy danych, stanu i klucza razem; ponowne uruchomienie kontenera nie jest planem odzyskiwania dla nieczytelnych zapisanych poświadczeń.
Oficjalna dokumentacja: tryb kolejki n8n · Ustawienia przycinania wykonań