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

Надежный и гибкий хостинг DNS A-записей

В настоящее время я работаю над веб-платформой, которая будет использоваться для поддержки множества небольших веб-сайтов. Все веб-сайты будут размещены на этой платформе либо на выделенном сервере, либо на VPS. Я не хочу предоставлять полный сервис DNS-хостинга, брать на себя ответственность за маршрутизацию электронной почты и т. Д., Я хочу отвечать только за часть доменов «веб-сайт».

Очевидное решение этой проблемы - указать «www» A-записи доменов на IP-адрес моего сервера, что даст желаемый эффект. Однако что, если мой сервер выйдет из строя и мне нужно будет переключить все сайты на резервную копию на другом сервере с другим IP? Мне нужно связаться со всеми поставщиками DNS для всех разных доменов и заставить их перенаправить свои записи A. Это нежелательно.

Итак ... вопрос в том, есть ли разумный подход к тому, чтобы справиться с чем-то вроде этого, или мне лучше просто перекусить и предложить полные службы DNS через выделенный сервис, такой как Cloudfare или DYN?

Спасибо за любые советы / решения.

Я не уверен, что могу описать это как крепкий. Это будет включать в себя несколько внутренних серверов, пару отказоустойчивых балансировщиков нагрузки на переднем конце, резервный сайт с версией того же без HA и использование IP-адресов, которые вы можете переключать между сайтами в случае возникновения достаточно большой аварии. .

Но при условии, что вы хотите предоставить веб-хостинг без всего этого, без контроля DNS ваших клиентов, но с сохранением возможности перенаправления операций на второй сайт, если возникнет необходимость, без необходимости связываться со всеми вашими клиентами, чтобы они обновили свои DNS, один способ сделать это с CNAMEс. Для пояснения предположим, что ваш сервер находится на IP-адресе, на который указывает A запись server.example.com. Допустим, у вас есть два клиента, чьи доменные имена example.org и example.net.

Каждый клиент публикует CNAME запись для их имени хоста www, указывающего на ваш сервер:

www.example.org.      IN     CNAME     server.example.com.
www.example.net       IN     CNAME     server.example.com.

Если вам нужно изменить IP-адрес вашего сервера, вы измените A запись для server.example.com, который находится под вашим контролем, и по истечении подходящего интервала для кэширования DNS, www.example.{org,net} начнет разрешаться на новый адрес.

Проблема здесь в голых доменах. Как хорошо известно вокруг этих частейты не можешь CNAME корень домена. Итак, пока клиенты счастливы иметь свой веб-сервер исключительно на www.example.org, ты в порядке. Но как только вы попросите веб-сервис на example.org, у тебя проблемы.

Однако Майкл Хэмптон указывает, что некоторые крупные поставщики DNS (он явно перечисляет Namecheap и GoDaddy, хотя это не следует воспринимать как одобрение любого из них) также будут предоставлять услугу веб-перенаправления, где запись A в голом домене указывает на то DNS-провайдера веб-сервер, единственная функция которого - получать запросы браузера клиента для http://example.org/foo и перенаправить их через HTTP 301-redirect на http://www.example.org/foo, после чего уже описанный механизм вступает во владение, и запрос удовлетворяется вашим сервером. Клиентам, которые настаивают на обслуживании своих корней, можно сказать, что они должны получить свой DNS от провайдера, который предлагает такую ​​возможность.

Это по-прежнему не будет работать для клиентов, которым также нужна служба HTTPS на своих корнях (например, https://example.org/bar); Я не знаю, как добиться этой работы без значительного расширения инфраструктуры. Но вы должны быть в порядке, обслуживая всех остальных, как описано выше.