Управление DNS-серверами... что мне нужно знать

Я скорее парень из stackoverflow.com, но сталкиваюсь с чем-то интересным. Я разрабатываю приложение, которое будет управляться после его публикации (надеюсь, в начале следующего года)...

Моя цель состояла в том, чтобы http://domain.com/ был сайтом для брошюр и http://client.domain.com/ в качестве хоста, на который клиент входит. Надежда на то, что 1 клиент на 1 базу данных, а не все клиенты в одной базе данных. облегчает масштабирование световых лет. нужно больше масштабировать, добавить еще несколько серверов в ферму.

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

Мне было интересно... Я знаю, что могу использовать WMI для программного управления серверами имен, если все основано на Windows, но разве это лучший метод? Я собираюсь столкнуться с кучей головных болей? Может кто-нибудь предложить достойную конфигурацию, которая может быть использована для этого лучше? Я загружаю программное обеспечение, поэтому у меня есть ограниченные ресурсы, чтобы его запустить.

Спасибо.

5 ответов

Почему бы не использовать www.domain.com в качестве сайта для брошюр, а вместо этого использовать www.domain.com/client в качестве сайтов для отдельных клиентов?

Когда вы начнете использовать SSL, это позволит избежать стоимости подстановочного сертификата и т. Д. И выведет вас из бизнеса DNS.

Процесс называется "прозрачное перенаправление" или виртуальный хостинг. Это просто означает, что вы будете подключены к другому веб-сайту в зависимости от того, какой URL запрашивается в заголовке HTTP.

В Apache это тривиально. А возможно в IIS смотрите: http://www.simpledns.com/kb.aspx?kbid=1149

Для client.domain.com и client2.domain.com требуется 2 записи DNS, поэтому для каждого URL потребуется новая запись. Вам придется управлять ими для каждого клиента.

Другой способ сделать это - использовать подпапку, а не другой виртуальный хост. Это будет означать отсутствие дополнительных записей DNS. Настоящее преимущество

например, www.domain.com/client и www.domain.com/client2

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

Простейший способ сделать это - просто использовать запись с подстановочными знаками, а затем заставить веб-сервер разбирать запросы?

Настройте запись DNS для *.example.comи затем, используя IIS (я предполагаю), свяжите ваш сайт с брошюрой example.com а также www.example.comа затем сопоставьте свои приложения одно за другим с другими сайтами (client1.example.com, client2.example.com) и т. д.

Таким образом, вы управляете только привязками IIS, а не DNS, а также потому, что подстановочный знак - это сопоставление с наименьшим рейтингом для записи DNS, если вам нужно создать запись A или CName для чего-то другого (скажем, support.example.com), подстановочный знак будет ранжироваться ниже, чем эта запись.

Выполнение простой настройки DNS на самом деле не очень сложно. Я бы, однако, поддержал предложение ErikA провести серьезное исследование (DNS & Bind от O'Reilly всегда хорошее начало), прежде чем пытаться запустить его самостоятельно.

Я бы определенно сказал, что стоит сделать так, если вы:

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

Лично я работал с bind с несколькими представлениями около 8 лет и добился очень хороших результатов. Недавно я начал изучать PowerDNS с бэкэндом mysql и poweradmin для руководства, чтобы попытаться уменьшить кривую обучения моего резервного сотрудника. Кажется, очень быстро и просто, как только он настроен.

PowerDNS может использовать базу данных для хранения информации о вашей зоне. В этом случае все, что вам нужно сделать, чтобы добавить поддомен, это просто вставить строку в базу данных. Он поддерживает множество баз данных. Излишне говорить, что вставка SQL очень проста для достижения программных целей.

Я предупреждаю вас, хотя... хостинг DNS не для слабонервных. Вы бы хорошо поработали над чтением, исследованиями и тестированием на своих серверах, прежде чем запускать их в производство. Поэтому я настоятельно рекомендую вам использовать для этого стороннюю службу DNS. Многие из них имеют открытые API, которые можно использовать для управления записями DNS для вашей зоны. DNSmadeeasy и Dyndns - два, которые приходят на ум, которые разрешают доступ API. Эти компании зарабатывают на хостинге DNS. Они знают, что делают, и они относительно дешевы. Зачем подвергать себя риску и потере времени хостинга DNS самостоятельно, когда у вас есть возможность передать его на аутсорсинг?

Другие вопросы по тегам