Назад | Перейти на главную страницу

Есть ли лучший способ перенаправить домены моего клиента?

Я обслуживаю несколько веб-сайтов для своих клиентов на одном сервере. Во время разработки я просто создаю поддомен в собственном домене. пример client.mydomain.example. Часто у моих клиентов уже есть домен и электронная почта у другого провайдера. Я не хочу размещать электронную почту для своих клиентов.

Я пробовал три разных способа настройки DNS:

  1. Сделайте HTTP-перенаправление с clientdomain.example к www.clientdomain.example а затем запись CNAME для www.clientdomain.exmple чтобы указать на временный поддомен на моем сервере client.mydomain.example.
  2. Есть запись от (*.)clientdomain.tld на мой IP-адрес сервера, но оставив MX и тому подобное, чтобы указать на их текущий адрес электронной почты.
  3. Настроить мои собственные серверы имен и использовать их для домена моего клиента. Затем настройте так же, как 2.

Насколько я понимаю, у всех трех есть плюсы и минусы:

  1. Плюсы: Удобный. Я могу изменить IP-адрес на своем сервере, перейти на другой серверный парк, настроить отказоустойчивость, балансировку нагрузки и так далее.
    Минусы: Я заставляю своих клиентов использовать www, и если у них уже есть сайт non-www они могут пострадать от SEO-тисков (?). Также дополнительная запись CNAME плохо сказывается на скорости страницы.
  2. Плюсы: Нет проблем с SEO или скоростью страницы. Простая установка.
    Минусы: Если мне нужно изменить IP, мне нужно внести изменения в DNS для ВСЕХ моих клиентских сайтов.
  3. Плюсы: Нет проблем с SEO или скоростью страницы. Если мне нужно сменить сервер, я могу сделать это сразу для всех моих клиентских сайтов, поскольку настройки DNS удобно настраиваются на моих собственных серверах имен.
    Минусы: Мне нужно запустить свои собственные серверы имен. Мне также нужно настроить записи MX и, возможно, другие записи DNS для моих клиентов.

Сейчас я предпочитаю 1. Так как я думаю, что плюсы перевешивают минусы в большинстве моих случаев.

Есть ли другой способ перенаправить с домена на сервер без указания IP-адреса?

Уточнение: Решение 1 работает для меня, но оно работает медленнее из-за двух шагов, прежде чем перейти к окончательной записи A. В идеале я хотел бы указать на оба non-www и www в домен моего сервера, но, насколько я знаю, это невозможно с записью CNAME, верно?

Обратите внимание, что CNAME это вообще не HTTP-перенаправление.

  • Только перенаправление здесь из example.com к www.example.com и его можно сделать постоянным. Дополнительный CNAME находится на уровне DNS и будет кэшироваться, поэтому на самом деле это не влияет ни на производительность, ни на скорость сайта.

  • Ваш веб-сервер должен знать о клиентском домене, независимо от того, кто размещает DNS.

Вот почему я бы предпочел ваш случай №1 с лучшим пониманием:

  1. Посоветуйте своему клиенту добавить www.example.com. CNAME client.example.net. чтобы иметь возможность при необходимости изменить IP-адрес самостоятельно.
  2. Посоветуйте, как сделать перенаправление с не-www на www на их текущем веб-сервере.
  3. Привяжите фактическое доменное имя к вашему client.example.net в конфигурации вашего веб-сервера.

В случае № 3 вы не просто будете технически размещать DNS-серверы, но также будете нести ответственность за выполнение обновлений всякий раз, когда клиенту потребуется новая сторонняя запись.

Итак, если я правильно понял, что вы хотите сделать, это иметь возможность после фазы разработки просто указать cname на ваш сервер (client.mydomain.tld), а все остальное обработать на своем собственном сервере.

Что я пробовал прямо сейчас в моей настройке с Cloudflare для управления записями DNS, так это просто поместить две записи cname: одну www.client.tld и одну client.tld. После этого вы можете обработать запрос на своем сервере и просто переписать URL-адрес в соответствии с конкретными потребностями.

Я бы также выбрал ваш вариант номер один, так как он самый простой в обращении.

И я также нашел здесь некоторую информацию об использовании записей CNAME: Следует ли использовать CNAME для поддоменов?