Привязка домена к своему серверу n8n
В моем руководстве по установке n8n на собственном сервере был описан сценарий, когда сервер и домен находятся в пределах одного хостинг-провайдера. Но что делать, если сервер арендован у одной компании, а домен зарегистрирован в другом месте? В этой статье разберем, как в таком случае настроить DNS-записи и привязать домен к серверу.
Предположим, у вас уже есть давно зарегистрированный домен у одного из аккредитованных регистраторов (reg.ru, nic.ru, Beget, Webnames и т.д.), вы и хотите установить n8n на поддомене основного сайта, чтобы он открывался по адресу n8n.yourdomain.com. Но домен у вас зарегистрирован в одном месте, а сервер вы арендовали у другой компании. При этом у них разные публичные IP-адреса.
Чтобы при переходе по доменному имени открывался сайт на сервере с определенным IP-адресом, нужно связать доменное имя и IP-адрес. Это делается с помощью A-записи.
A-запись (address) - это базовая запись в DNS-системе, которая связывает доменное имя с конкретным IPv4-адресом сервера, где размещен сайт. Она необходима для того, чтобы браузер знал, к какому серверу обращаться при вводе пользователем адреса сайта. Без A-записи браузер не сможет определить IP-адрес сервера и открыть сайт.
Вы можете настроить отдельную A-запись для поддомена (чтобы открывался n8n) на ваш арендованный сервер с публичным IP-адресом и отдельную A-запись на основной домен, который уже работает, доступен для пользователей и имеет корректные настройки. Таким образом, в будущем не будет никаких конфликтов и проблем с открытием каждого из сайтов.
На текущий момент существует несколько вариантов управления доменом у интернет-провайдера:
- купить домен (регистрация нового, свободного имени в интернете у компании-регистратора);
- добавить домен (настройка домена так, чтобы он работал с вашим хостингом. Вы просто сообщаете системе, на какой сервер (IP-адрес) отправлять посетителей);
- перенести домен (смена компании-регистратора, которой вы платите за домен. Вы переезжаете со своим доменом к другому провайдеру).
Если коротко, то купить домен - значит арендовать его на год, добавить домен на NS - это просто указать, где искать ваш сайт, а перенести домен - сменить компанию, которой вы платите за аренду.
Давайте разберем конкретный пример. У меня есть домен un8n.ru, который зарегистрирован в Beget. А сервер, который я арендовал, расположен в Timeweb Cloud. У вас может быть другая комбинация регистратора и хостинг-провайдера, но описанный ниже принцип остается одинаковым для всех. Отличается только интерфейс личного кабинета выбранных сервисов, а сама услуга остается неизменной.
Итак, я хочу, чтобы мой n8n открывался на поддомене (n8n.un8n.ru) на собственном сервере Timeweb Cloud, а основной сайт продолжал работать на серверах Beget на домене un8n.ru. То есть покупка домена уже осуществлена, а перенос не нужен. Остается только создать сам поддомен и добавить для него A-запись в DNS-настройках.
Схематично это можно представить так:
Перейдите в личный кабинет регистратора - туда, где вы управляете доменом (регистрируете, оплачиваете и продлеваете его). В моем примере - домен un8n.ru был зарегистрирован через Beget. У вашего хостинг-провайдера/регистратора доменов будет точно такой же функционал.
Откройте раздел с управлением доменов и найдите свой основной домен:
После этого вам необходимо создать поддомен для n8n. Для этого напротив вашего основного домена нажмите на меню с тремя точками и выберите Добавить поддомен:
Теперь вы можете ввести название вашего поддомена в строке добавления:
И тут есть два варианта:
- добавить только один поддомен n8n.un8n.ru для работы с сервисом n8n
- использовать wildcard-запись с символом *
Такая конструкция позволяет направить все поддомены на один IP-адрес, используя символ звездочки в поле поддомена. Это удобно для автоматического создания поддоменов без необходимости прописывать каждый по отдельности.
Если вы выполняете установку n8n на свой сервер по моей инструкции с использованием репозитория n8n-install (Автор - Yury Kossakovsky), то wildcard-запись со звездочкой может вам пригодиться, поскольку помимо самого n8n в базовой установке присутствуют такие сервисы, как:
- welcome.yourdomain.com - страница со всеми данными вашего проекта;
- monitoring.yourdomain.com - позволяет видеть, что происходит внутри вашего сервера и самого n8n «под капотом»;
- databasus.yourdomain.com - инструмент для резервного копирования баз данных;
- portainer.yourdomain.com - графическая программа с веб-интерфейсом (Web UI) для управления Docker-контейнерами.
Полный список служб доступен на странице репозитория n8n-install.
Однако если у вас помимо n8n будут и другие поддомены, то общая запись со звездочкой - не самое лучшее решение, поскольку тогда вы не сможете направить разные поддомены на разные IP-адреса. Они все будут идти на один IP. Поэтому правило очень простое:
- если у вас все поддомены будут использоваться только для сборки n8n - используйте wildcard-запись со звездочкой (*);
- если у вас некоторые поддомены должны открываться по одному IP-адресу, а некоторые по другому - перечислите поддомены по отдельности.
Для отдельных поддоменов:
Для всех поддоменов:
В качестве примера давайте создадим поддомен n8n.un8n.ru. Введите этот адрес в поле и нажмите Добавить домены. Для всех остальных поддоменов шаги будут аналогичными (когда вам понадобится создать еще один):
Домен будет успешно добавлен и появится в общем списке:
После того, как вы создали поддомен для n8n, вам необходимо отредактировать DNS-запись. Для этого рядом с вашим основным доменом нажмите на иконку с тремя точками и выберите пункт Редактировать DNS:
Вам откроется окно управления записями DNS вашего домена:
В таблице Подзоны и записи DNS найдите свой созданный поддомен n8n.* и раскройте список всех его DNS-записей:
Вы должны увидеть запись A с публичным IP-адресом. В моем примере - 5.101.153.187. Это публичный IPv4-адрес, который принадлежит хостинг-провайдеру Beget. Сервер, использующий этот адрес, физически размещен в Санкт-Петербурге.
Поскольку мы используем собственный сервер n8n, размещенный у другого хостера (в Timeweb Cloud; с другой локацией и своим публичным IP), нам необходимо указать его IP-адрес. Для этого напротив записи A нажмите на иконку карандаша:
В открывшемся окне проверьте, что вы верно выбрали подзону (= свой поддомен для n8n) и отредактируйте А-запись:
Вместо текущего IP-адреса вам необходимо добавить публичный IP-адрес вашего собственного сервера. Поскольку ранее я арендовал его в Timeweb Cloud, то перейдя в личный кабинет и открыв настройки сервера, я увижу нужный IP:
Сделайте то же самое для своего сервера. Скопируйте публичный IP-адрес и вставьте его в А-запись вместо текущего:
На этом все. В завершение нажмите кнопку Сохранить.
Если вы не видите у поддомена DNS-записи, просто создайте ее самостоятельно, указав:
- Тип - А
- Имя/домен - n8n
- Значение - публичный IP-адрес вашего сервера
- TTL (опционально) - время в секундах, в течение которого ресурсная запись в кэше NS-сервера считается актуальной и не требует повторного кэширования. TTL группы распространяется на все ресурсные записи в группе. Можете оставить по умолчанию ~ 600.
Изменения DNS-записей будут применены в течение 15-20 минут. Вам нужно немного подождать. После этого ваш поддомен будет ссылаться на IP-адрес вашего сервера.
Примечание: если вы ставите n8n на свой сервер по моей инструкции с использованием репозитория n8n-install, то wildcard-запись со звездочкой (*) предпочтительнее для настроек DNS. Это связано с тем, что помимо самого n8n в базовой установке присутствуют и другие сервисы (см. выше), а в дальнейшем мы добавим Supabase, которому потребуется отдельный поддомен вида supabase.yourdomain.com. Либо же в будущем вы создадите для него отдельный поддомен и привяжете его к серверу вручную по аналогии с n8n, как мы это делали в данном руководстве.


















