Настройте ваш хостинговый сайт Discourse для работы на корневом или верхнеуровневом домене (например, example.com)

:bookmark: В этом руководстве объясняется, как настроить хостинговую платформу Discourse для работы на корневом или апекс-домене (например, example.com вместо forum.example.com). Общий процесс изменения имени домена вашего сайта описан в руководстве по настройке имени домена для хостинга Discourse.

:person_raising_hand: Требуемый уровень доступа: Администратор

Большинство хостинговых сайтов Discourse работают на поддомене, например forum.example.com, talk.example.com или www.example.com. Это рекомендуемая конфигурация, и в подавляющем большинстве случаев она работает без проблем.

Работа сайта на корневом или апекс-домене (например, example.com) возможна, но в условиях хостинга это сложнее из-за особенностей работы DNS для корневых доменов. Эта опция доступна в тарифных планах Pro, Business и Enterprise. В бесплатном тарифе (Free) кастомные домены недоступны, и ваш сайт остается по адресу discourse.group.

Для работы вашего сайта на корневом или апекс-домене необходимо выполнить два условия:

  1. Ваш DNS-провайдер должен поддерживать один из типов записей, перечисленных ниже (обычной записи CNAME для корневого домена недостаточно).
  2. Финальная конфигурация выполняется командой Discourse, так как кнопка Change Domain Name (Изменить имя домена) в вашем админ-панели проверяет наличие записи CNAME и не может обработать апекс- или корневой домен.

Настройка вашего DNS-провайдера

  1. Убедитесь, что ваш DNS-провайдер поддерживает тип записи для корневого домена. Если вашего провайдера нет в списке ниже, вам сначала нужно перейти на один из перечисленных провайдеров.
  2. Создайте запись, описанную для вашего провайдера, следуя инструкции по ссылке в таблице.
  3. После того как ваша DNS-запись будет создана, свяжитесь с командой Discourse по адресу team@discourse.org, чтобы завершить смену имени корневого домена.

DNS-провайдеры, поддерживающие корневые или апекс-домены

Провайдер Тип
AWS Route53 (только AWS[1]) Записи A & AAAA ALIAS; нажмите для примера →
Cloudflare CNAME flattening. Отключите прокси Cloudflare (иконка облака должна быть серой), чтобы он не мешал работе сайта
DNSimple ALIAS
DNS Made Easy ANAME
DreamHost ALIAS
easyDNS ANAME
Gandi ALIAS
Hurricane Electric ALIAS
Name.com ANAME
Namecheap ALIAS
PointDNS ALIAS
Webcentral (ранее Netregistry) Cloaked redirection (только IPv4)

:exclamation: Если вашего DNS-провайдера нет в списке выше, перейдите на провайдера, который поддерживает тип записи для корневого или апекс-домена, прежде чем продолжать. Обычная запись CNAME не будет работать на корневом домене.

:information_source: Если вы протестировали DNS-провайдера, которого нет в этом списке, и он работает для вашего сайта, ответьте в этой теме с названием провайдера и ссылкой, объясняющей, как его настроить, чтобы список мог быть обновлен.


  1. это работает только если вы размещаете сайт самостоятельно в AWS или используете наше корпоративное хостинговое решение на AWS ↩︎

36 лайков

Пост был разделен на новую тему: Необходимые настройки DNS

Итак, потребовалось немного времени, чтобы разобраться, но мне удалось настроить работу моего корневого домена (apex domain) с Azure, где мы размещаем наши DNS.

Для использования Azure необходимо задействовать Azure Front Door. Данные инструкции относятся к Azure Front Door Standard/Premium, а не к Azure Front Door (классическая версия).

  1. Перейдите в раздел Azure Front Door и нажмите + Создать.
  2. Выберите Azure Front Door и Создание настраиваемого, затем нажмите Продолжить создание Front Door.
  3. Выберите подписку, группу ресурсов, имя и уровень (Standard мне подошел), затем нажмите Далее: Секреты.
  4. Если вы используете собственный SSL-сертификат, добавьте его здесь. После добавления (или если вы позволяете Azure создать сертификат) нажмите Далее: Конечная точка.
  5. Нажмите Добавить конечную точку, выберите имя и нажмите Добавить.
  6. В новом разделе «Маршруты» нажмите Добавить маршрут. Присвойте ему имя.
  7. В поле «Группа источников» нажмите Добавить новую группу источников. Присвойте ей имя.
  8. Нажмите + Добавить источник. Присвойте ему имя. В поле «Тип источника» выберите Настраиваемый. В поле «Имя хоста» введите ваш домен site.hosted-by-discourse.com. Убедитесь, что поле «Заголовок хоста источника» пустое. Нажмите Добавить.
  9. Нажмите Добавить в диалоговом окне «Добавить группу источников».
  10. Нажмите Добавить в диалоговом окне «Добавить маршрут».
  11. Нажмите Проверка и создание. Нажмите Создать.
  12. Дождитесь развертывания AFD. После развертывания нажмите Перейти к ресурсу.
  13. В левом меню выберите Домены. Нажмите Добавить домен.
  14. В поле «Зона DNS» выберите зону, в которой находится ваш домен. В разделе «Настраиваемый домен» выберите ваш домен в секции КОРНЕВОЙ (APEX). Нажмите Добавить.
  15. Когда ваш домен появится в списке, нажмите … справа. Выберите Связать.
  16. Выберите созданную ранее конечную точку и маршрут. Нажмите Связать.

Если вы используете управляемый сертификат AFD

  1. Если «Состояние проверки» вашего домена — В ожидании, нажмите эту ссылку. Выберите Минуты в качестве «Единицы TTL» (для быстрой проверки), затем нажмите кнопку Добавить в разделе «Статус DNS-записи».
  2. БУДЬТЕ ТЕРПЕЛИВЫ. Именно здесь я потратил слишком много времени, рвя на себе волосы, но вам нужно подождать. В конце концов «Состояние проверки» должно измениться на Утверждено.
  3. Возможно, вам придется сгенерировать заново и обновить TXT DNS-запись. Это можно сделать, нажав кнопку Сгенерировать заново. Когда появится кнопка Обновить в разделе «Статус DNS-записи», нажмите её.
1 лайк

К сведению для всех, кто следует этому руководству: данная настройка не упрощает DNS, а конфигурирует балансировщик нагрузки в Azure для проксирования источника.

Это официально не поддерживается в таком виде, так как это приведет к побочным эффектам (все посетители будут приходить с IP-адреса Azure, а не с их реальных IP-адресов).

2 лайка