Даже у опытных пользователей n8n время от времени что-то идет не так. Воркфлоу внезапно останавливается, нода подсвечивается красным, а в логах появляются загадочные сообщения. Это нормально. Ключ к успеху — уметь быстро диагностировать и исправлять проблему. В этом гайде мы собрали самые распространенные ошибки и понятные способы их решения.

Из этой инструкции вы узнаете:

  • ✅ Что делать при ошибках авторизации `401 Unauthorized` и `403 Forbidden`.
  • ✅ Как решить проблему с `CORS`, если вы работаете с вебхуками.
  • ✅ Почему возникает ошибка таймаута (`Timeout`) и как ее избежать.
  • ✅ Как правильно работать с файлами, чтобы не получать ошибку `binary data`.

Ошибка 1: `401 Unauthorized` / `403 Forbidden`

Это самая частая группа ошибок при работе с внешними API.

  • Причина: Проблема почти всегда в учетных данных (Credentials). Либо вы ввели неверный API-ключ/токен/пароль, либо у этого ключа недостаточно прав для выполнения нужной операции (например, он может только читать данные, но не записывать). Иногда токен просто "протухает" (истекает срок его действия).
  • Решение:
    1. Дважды проверьте правильность токена. Скопируйте его заново из личного кабинета сервиса и вставьте в n8n. Убедитесь, что в начале или конце нет лишних пробелов.
    2. Перейдите в настройки API в сервисе и проверьте, какие права (scopes) выданы вашему ключу.
    3. Если вы давно не использовали ключ, попробуйте сгенерировать его заново.

Ошибка 2: `CORS policy`

Эта ошибка возникает не в n8n, а в консоли вашего браузера, когда вы пытаетесь отправить запрос на Webhook URL из фронтенд-кода (JavaScript).

  • Причина: Политика безопасности браузеров запрещает JavaScript-коду с одного домена (например, `mysite.com`) напрямую отправлять запросы на другой домен (например, `n8n.mysite.com`), если второй домен явно этого не разрешил.
  • Решение: Вебхуки n8n предназначены для коммуникации "сервер-сервер". Не вызывайте их напрямую из браузера. Вместо этого, отправьте данные с вашего сайта на ваш же бэкенд, а уже бэкенд пусть вызовет вебхук n8n. Если вам все же необходимо разрешить кросс-доменные запросы, вам нужно настроить переменные окружения в n8n, например: N8N_CORS_ALLOWED_ORIGINS=*.

Ошибка 3: `Timeout` / Воркфлоу выполняется слишком долго

Вы запускаете воркфлоу, и он "висит" на одной из нод, а через некоторое время падает с ошибкой таймаута.

  • Причина: Чаще всего это происходит на ноде `HTTP Request`. Это значит, что n8n отправил запрос к внешнему сервису, но не получил от него ответ за отведенное время (по умолчанию 60 секунд). Либо сам воркфлоу обрабатывает слишком много данных в цикле.
  • Решение:
    1. В настройках ноды `HTTP Request` увеличьте значение поля "Timeout".
    2. Проверьте, работает ли внешний сервис. Возможно, его API временно недоступно.
    3. Если вы обрабатываете тысячи элементов в цикле, разбейте их на части (батчи). Например, сначала получайте 100 элементов, обрабатывайте, затем следующие 100, и так далее.

Ошибка 4: `Binary data is not available`

Вы пытаетесь отправить файл, полученный в одной ноде (например, `HTTP Request`), в другую (например, `Telegram`), но получаете ошибку, что файл не найден.

  • Причина: В целях экономии оперативной памяти n8n по умолчанию не хранит бинарные данные (файлы) в JSON-объекте, который передается между нодами. Он хранит только мета-информацию.
  • Решение: В настройках самого воркфлоу (иконка шестеренки) измените параметр "Save Binary Data" на "Using file system". После этого n8n будет сохранять файлы во временную папку и делать их доступными для всех последующих нод в рамках одного запуска.

Столкнулись с нестандартной ошибкой?

Иногда проблемы требуют глубокого анализа логов и специфических знаний. Если вы не можете решить проблему самостоятельно, мы поможем провести диагностику и наладить ваши воркфлоу. Оставьте заявку для консультации.

Частые вопросы о решении проблем в n8n

Почему моя нода Webhook не получает данные от внешнего сервиса?

Самые частые причины: 1) Вы используете тестовый URL (начинается с /webhook-test/), который работает только при ручном запуске из интерфейса n8n. Используйте продуктивный URL (начинается с /webhook/). 2) Файрвол на вашем сервере блокирует входящие запросы. 3) Внешний сервис отправляет запрос не методом POST, а GET.

Что означает ошибка 'Credentials could not be found'?

Эта ошибка говорит о том, что в настройках ноды не выбраны учетные данные (Credentials) из выпадающего списка, либо выбранные учетные данные были удалены из n8n. Просто отредактируйте ноду и выберите правильный ключ доступа.

Почему в цикле (Loop) обрабатывается только один элемент?

Это стандартное поведение n8n: каждый элемент из входящего массива обрабатывается как отдельный 'пакет' данных, проходя через ветку цикла независимо. Если вам нужно собрать все результаты после цикла в один массив, используйте ноду 'Merge' в режиме 'Combine' -> 'Merge By Position'.

Как передать файл (бинарные данные) из одной ноды в другую?

По умолчанию n8n не передает файлы между нодами для экономии памяти. Чтобы это работало, зайдите в настройки воркфлоу (Settings) и установите параметр 'Save Binary Data' в положение 'Using file system'. После этого вы сможете ссылаться на файл из предыдущей ноды через специальное свойство в JSON, обычно `{{ $binary.data }}`.