n8n и интеграции

Как настроить и принять HTTPS для n8n на своём сервере

Руководство помогает зафиксировать схему TLS для self-hosted n8n, выбрать способ работы с сертификатом, согласовать публичные адреса редактора и webhook и проверить полный маршрут на безопасном тестовом событии.

База данных связана с отчётом через последовательность модулей — концептуальная иллюстрация

Self-hosted n8n должен открываться для сотрудников и принимать webhook по предсказуемым защищённым адресам. Для приёмки недостаточно увидеть значок замка в браузере: нужно зафиксировать путь запроса, проверить публичный URL webhook и провести безопасное тестовое событие через фактический прокси.

Ниже — порядок подготовки и приёмки. Он опирается на официальную документацию n8n, проверенную 24 октября 2026 года. Это не отчёт о настройке конкретного сервера: версию n8n, цепочку прокси, сетевые правила и способ продления сертификата нужно сверить в развёрнутой среде.

Какую рабочую задачу решает HTTPS

HTTPS шифрует транспортное соединение на проверяемом участке и позволяет клиенту проверить имя сервера по сертификату. В этой задаче защищённый адрес нужен двум маршрутам:

  • сотрудник открывает редактор n8n;
  • внешний сервис отправляет событие на webhook.

Успешное соединение по HTTPS не доказывает безопасность всей инсталляции. Оно не проверяет роли, SSO, хранение секретов, публичный API, выполнение кода, журналы, резервные копии и исходящие соединения. Эти вопросы требуют отдельного разбора, например при проверке доступа и данных в n8n.

Практический результат этого этапа — не формулировка «HTTPS включён», а описанный маршрут с ответственными и проверяемыми условиями.

Зафиксировать домен, маршруты и точку завершения TLS

Начните со схемы из четырёх элементов:

  1. Внешний клиент или сервис отправляет запрос.
  2. Публичный домен указывает на доступную точку входа.
  3. Reverse proxy или балансировщик принимает соединение.
  4. n8n обрабатывает запрос во внутреннем контуре.

Для каждого участка запишите адрес, протокол и владельца настройки. Отдельно укажите:

Что зафиксироватьВопрос для приёмки
Публичный доменКакой адрес открывают сотрудники и вызывают внешние сервисы?
Точка завершения TLSГде проверяется сертификат и расшифровывается соединение?
Связь прокси с n8nПо какому протоколу и адресу прокси обращается к приложению?
Внутренний портДоступен ли он только по согласованной сетевой схеме?
МаршрутыСовпадают ли опубликованные пути редактора и webhook с проектом?
Что зафиксировать
Публичный домен
Вопрос для приёмки
Какой адрес открывают сотрудники и вызывают внешние сервисы?
Что зафиксировать
Точка завершения TLS
Вопрос для приёмки
Где проверяется сертификат и расшифровывается соединение?
Что зафиксировать
Связь прокси с n8n
Вопрос для приёмки
По какому протоколу и адресу прокси обращается к приложению?
Что зафиксировать
Внутренний порт
Вопрос для приёмки
Доступен ли он только по согласованной сетевой схеме?
Что зафиксировать
Маршруты
Вопрос для приёмки
Совпадают ли опубликованные пути редактора и webhook с проектом?

Документация n8n описывает два способа поддержки TLS: поставить reverse proxy или сетевой балансировщик перед n8n либо передать сертификат приложению напрямую. n8n рекомендует вариант с reverse proxy, но эта рекомендация не делает его обязательным для любой инфраструктуры. Она также не подтверждает защиту внутреннего участка между прокси и приложением — его проверяют отдельно.

Выбрать способ работы с сертификатом

Сравните два документированных варианта с фактической архитектурой.

ВариантГде завершается TLSЧто нужно определить
Reverse proxy или балансировщикНа внешней точке перед n8nКто выпускает и устанавливает сертификат, как устроены продление, сигнал об ошибке и восстановление
Прямой TLS в n8nВ самом приложенииГде безопасно размещены файлы, кто обновляет их и как проверяется актуальность сертификата
Вариант
Reverse proxy или балансировщик
Где завершается TLS
На внешней точке перед n8n
Что нужно определить
Кто выпускает и устанавливает сертификат, как устроены продление, сигнал об ошибке и восстановление
Вариант
Прямой TLS в n8n
Где завершается TLS
В самом приложении
Что нужно определить
Где безопасно размещены файлы, кто обновляет их и как проверяется актуальность сертификата

При прямом TLS пути к файлам сертификата и ключа задают через N8N_SSL_CERT и N8N_SSL_KEY. Эти имена подтверждены текущей документацией, но она не определяет подходящие права на файлы, место хранения и процедуру выпуска для вашей среды. Не публикуйте закрытый ключ, значения секретов и реальные внутренние адреса.

Reverse proxy может взять на себя работу с продлением сертификата, если такая возможность настроена в выбранном прокси. Для приёмки всё равно нужен конкретный владелец процесса. Запишите, кто:

  • выпускает и устанавливает сертификат;
  • следит за сроком действия;
  • получает наблюдаемый сигнал при ошибке;
  • проверяет продление;
  • восстанавливает доступ после неудачного обновления.

Согласовать внешний адрес n8n и webhook

Внутренний адрес приложения и публичный адрес могут различаться. Например, n8n работает внутри контура на порту 5678, а reverse proxy публикует домен через порт 443. Поэтому адрес, который n8n собирает из внутренних параметров, может не подойти внешнему сервису.

При работе за reverse proxy документация требует вручную задать публичный адрес webhook через N8N_WEBHOOK_URL. Тогда n8n может показывать его в редакторе и регистрировать корректный URL во внешнем сервисе.

Имя WEBHOOK_URL объявлено устаревшим начиная с n8n 2.35.0; вместо него документация использует N8N_WEBHOOK_URL. Перед изменением проверьте установленную версию n8n и актуальную для неё документацию. Не переносите параметр из примера вслепую в другую версию.

В листе приёмки сопоставьте три значения:

ЗначениеЧто должно быть понятно
Внутренний адрес n8nГде приложение слушает запросы внутри контура
Публичный адрес редактораКак сотрудники открывают интерфейс
Публичная база webhookКакой HTTPS-домен и путь получают внешние сервисы
Значение
Внутренний адрес n8n
Что должно быть понятно
Где приложение слушает запросы внутри контура
Значение
Публичный адрес редактора
Что должно быть понятно
Как сотрудники открывают интерфейс
Значение
Публичная база webhook
Что должно быть понятно
Какой HTTPS-домен и путь получают внешние сервисы

Передать n8n сведения об исходном запросе

За reverse proxy приложение видит не исходное соединение, а запрос от посредника. Последний прокси на маршруте должен передать n8n сведения об исходном клиенте, хосте и протоколе через заголовки:

  • X-Forwarded-For;
  • X-Forwarded-Host;
  • X-Forwarded-Proto.

В документированном примере с одним прокси используется N8N_PROXY_HOPS=1. Значение 1 нельзя считать универсальной настройкой: число доверенных переходов зависит от реальной цепочки. Зафиксируйте все прокси и балансировщики на пути, определите последний доверенный узел и проверьте, какие посредники могут создавать или менять forwarded-заголовки.

Такая запись помогает избежать двух ошибок: доверять заголовкам от непредусмотренного источника или указать число переходов, которое не соответствует архитектуре.

Условный маршрут без рабочих последствий

Ниже — синтетический проектный пример. Это не клиентский кейс Switch On AI и не результат выполненного теста.

Условная компания разместила n8n во внутреннем контейнере и публикует automation.example.ru через reverse proxy. TLS завершается на прокси. По проектному требованию внутренний порт n8n не должен быть напрямую доступен из интернета. В конфигурации задан внешний HTTPS-адрес webhook, а последний прокси передаёт сведения об исходном протоколе и хосте.

Безопасная учебная последовательность выглядит так:

  1. Внешний отправитель обращается к тестовому webhook по HTTPS.
  2. Reverse proxy принимает TLS-соединение и передаёт запрос n8n.
  3. Тестовый workflow принимает искусственное событие без записи в CRM и отправки писем.
  4. n8n возвращает заранее согласованный контролируемый ответ.

Приёмщик сопоставляет сертификат и домен, URL в редакторе, фактически вызванный адрес, запись о выполнении и ответ отправителю. Изоляцию внутреннего порта, безопасный состав workflow, журналирование, ограничение рабочих действий и обработку повторов команда должна спроектировать и испытать в конкретной среде — документация о TLS не подтверждает их автоматически.

Пример ожидаемого результата:

ПроверкаТестовое действиеОжидаемый результат
Публичный адресОтправить синтетическое событие на https://automation.example.ru/...Запрос приходит на согласованный тестовый маршрут
WorkflowПередать искусственный идентификатор событияЗапускается только тестовый workflow
Рабочие последствияПроверить подключённые действияНет записи в CRM, письма или другого рабочего изменения
ОтветСверить ответ отправителюПолучен заранее согласованный безопасный ответ
ПовторПовторить то же искусственное событиеФактическое поведение зафиксировано и сравнено с проектным правилом
Проверка
Публичный адрес
Тестовое действие
Отправить синтетическое событие на https://automation.example.ru/...
Ожидаемый результат
Запрос приходит на согласованный тестовый маршрут
Проверка
Workflow
Тестовое действие
Передать искусственный идентификатор события
Ожидаемый результат
Запускается только тестовый workflow
Проверка
Рабочие последствия
Тестовое действие
Проверить подключённые действия
Ожидаемый результат
Нет записи в CRM, письма или другого рабочего изменения
Проверка
Ответ
Тестовое действие
Сверить ответ отправителю
Ожидаемый результат
Получен заранее согласованный безопасный ответ
Проверка
Повтор
Тестовое действие
Повторить то же искусственное событие
Ожидаемый результат
Фактическое поведение зафиксировано и сравнено с проектным правилом

Как проверить настройку перед запуском

Проводите проверку по уровням, чтобы ошибка на одном участке не скрывалась успешной работой другого.

УровеньЧто проверитьКритерий приёмки
СертификатСрок действия, цепочку и соответствие публичному имениСертификат подходит используемому домену, браузер не показывает предупреждение
РедакторОткрытие согласованного адресаИнтерфейс доступен по ожидаемому HTTPS-адресу
HTTPОбращение по незащищённой схемеHTTP недоступен либо переводит на согласованный HTTPS-адрес
URL webhookАдрес, показанный n8nУказаны правильные внешние схема, домен и путь
Внешний вызовЗапрос из контролируемого внешнего источникаЗапрос приходит через фактическую точку входа
ПроксиМаршрут и forwarded-заголовкиn8n получает сведения согласно согласованной цепочке доверия
WorkflowИдентификатор и журнал выполненияЗапускается нужный тестовый workflow, выполнение можно сопоставить с запросом
ОтветРезультат для отправителяОтправитель получает согласованный контролируемый ответ
ПерезапускПовтор проверки после штатного перезапускаНужная конфигурация сохраняется
ПродлениеПроцедура в используемом контуреНазначены ответственный, способ проверки и наблюдаемый сигнал ошибки
Уровень
Сертификат
Что проверить
Срок действия, цепочку и соответствие публичному имени
Критерий приёмки
Сертификат подходит используемому домену, браузер не показывает предупреждение
Уровень
Редактор
Что проверить
Открытие согласованного адреса
Критерий приёмки
Интерфейс доступен по ожидаемому HTTPS-адресу
Уровень
HTTP
Что проверить
Обращение по незащищённой схеме
Критерий приёмки
HTTP недоступен либо переводит на согласованный HTTPS-адрес
Уровень
URL webhook
Что проверить
Адрес, показанный n8n
Критерий приёмки
Указаны правильные внешние схема, домен и путь
Уровень
Внешний вызов
Что проверить
Запрос из контролируемого внешнего источника
Критерий приёмки
Запрос приходит через фактическую точку входа
Уровень
Прокси
Что проверить
Маршрут и forwarded-заголовки
Критерий приёмки
n8n получает сведения согласно согласованной цепочке доверия
Уровень
Workflow
Что проверить
Идентификатор и журнал выполнения
Критерий приёмки
Запускается нужный тестовый workflow, выполнение можно сопоставить с запросом
Уровень
Ответ
Что проверить
Результат для отправителя
Критерий приёмки
Отправитель получает согласованный контролируемый ответ
Уровень
Перезапуск
Что проверить
Повтор проверки после штатного перезапуска
Критерий приёмки
Нужная конфигурация сохраняется
Уровень
Продление
Что проверить
Процедура в используемом контуре
Критерий приёмки
Назначены ответственный, способ проверки и наблюдаемый сигнал ошибки

Добавьте негативные сценарии, но не связывайте их с опасными рабочими действиями:

  • неверный путь не запускает тестовый workflow;
  • неподходящий хост не попадает на разрешённый маршрут;
  • повтор события обрабатывается по заранее записанному правилу;
  • недоступный backend не выглядит как успешная обработка;
  • просроченный или не соответствующий имени сертификат выявляется в контролируемой среде.

Не задавайте произвольное число тестов ради отчёта. Каждый сценарий должен проверять конкретный риск. Для результата сохраните входное событие, ожидаемое поведение, фактическое поведение и найденное расхождение. Общий подход к такой проверке описан в сценариях приёмки автоматизации.

Ограничения, эксплуатация и следующий шаг

Пройденная проверка подтверждает только фактически испытанный транспортный маршрут. Она не доказывает корректность ролей, SSO, секретов, журналов, резервного копирования, публичного API, разрешённых узлов и сетевых направлений. Внешний доступ к внутреннему порту n8n и административным интерфейсам проверяйте отдельно по согласованной сетевой схеме.

Перед запуском должен остаться короткий эксплуатационный паспорт:

  • публичный домен и назначение маршрутов;
  • точка завершения TLS и внутренняя схема соединения;
  • версия n8n и используемые имена параметров;
  • фактическая цепочка прокси и число доверенных переходов;
  • владелец сертификата и процедура продления;
  • сигнал об ошибке и порядок восстановления;
  • тестовый workflow и журнал последней приёмки.

Если нужно спроектировать такой маршрут и подготовить критерии приёмки, Switch On AI занимается разработкой и внедрением автоматизации. Для первого обсуждения подготовьте внешний домен, схему размещения n8n и прокси, перечень будущих webhook и сведения о текущем управлении сертификатами. Мы разберём процесс, согласуем ограниченный прототип и требования, а объём внедрения, стоимость, сроки и сопровождение зафиксируем отдельно в предложении и договоре.

Вопросы по этой задаче

Можно ли включить HTTPS прямо в n8n без reverse proxy?

Да. Документация предусматривает передачу путей к файлам сертификата и ключа через N8N_SSL_CERT и N8N_SSL_KEY. Выпуск, безопасное хранение и своевременное продление сертификата при этом остаются отдельными эксплуатационными задачами.

Почему webhook показывает внутренний адрес или HTTP?

За reverse proxy внутренние параметры n8n могут не совпадать с публичным адресом. Нужно сверить N8N_WEBHOOK_URL, внешний домен, настройки прокси и передаваемые сведения об исходном протоколе и хосте.

Достаточно ли открыть редактор n8n по HTTPS для приёмки?

Нет. Отдельно вызовите тестовый webhook по публичному адресу и подтвердите маршрут через фактический прокси до нужного тестового workflow и обратно к отправителю.

Какое значение поставить в N8N_PROXY_HOPS?

Значение зависит от фактической цепочки доверенных прокси. Число 1 относится к документированному примеру с одним переходом и не является универсальной настройкой.

Доказывает ли HTTPS, что self-hosted n8n полностью безопасен?

Нет. Проверка HTTPS подтверждает только испытанный транспортный маршрут. Доступы, секреты, публичный API, журналы, резервные копии, разрешённые узлы и сетевые ограничения проверяют отдельно.