Enom имеет API для реселлеров , который позволяет автоматически регистрировать домен от имени пользователя.(Я не имею никакого отношения к eNom и не использовал продукты eNom.)
Реализация * .weebly.com
Как правило, эта форма динамического подчинения будетиспользуйте подстановочную DNS-запись .Этот тип записи отображает шаблон подстановки, такой как *.example.com
, на один или несколько серверов.
Допустим, у вас есть блог-сайт и вы хотите, чтобы пользователи динамически выбирали доменные имена.Вы разместили веб-страницу на www.example.com с формой, позволяющей пользователю выбирать имена.Таким образом, пользователь регистрируется и выбирает bar.example.com
.
Предположим, ваш DNS-сервер имеет следующие сопоставления:
foo.example.com > 1.2.3.1
*.example.com > 1.2.3.2
Любой запрос для foo.example.com будет направлен на 1.2.3.1,но любое другое имя, такое как bar.example.com, будет обслуживаться 1.2.3.2.Поэтому, когда пользователь перенаправляется на http://bar.example.com
, браузер нажимает 1.2.3.2.Обратите внимание, что поскольку изменения DNS не требуются, задержки распространения не происходит: перенаправление будет работать мгновенно.
Программное обеспечение, работающее на 1.2.3.2, затем проверит заголовок Host
в запросе, проанализирует fqdn и stripВыключите .example.com
и разрешите bar
для базы данных.Если запись существует, она выдаст соответствующий ответ для bar
.
Вы также хотели бы сохранить список зарезервированных имен или шаблонов, которые вы планируете использовать в будущем, например www\d*, mail\d*, ns\d*
,так что, когда пользователь пытается зарегистрировать сайт www07
, ваш черный список отклонит его.
Отображение любого домена на bar.example.com
Однажды bar.example.com
сайт существует, пользователь может захотеть сопоставить собственное доменное имя, например www.widgetsimakeinmyhome.com
, со своим сайтом.Регистрация и настройка для этого в основном выполняется вручную, а сайты вроде EasyDNS делают это довольно просто.У некоторых регистраторов могут быть API-интерфейсы, которые облегчат вам эту задачу.Как правило, это должны быть RESTful или, по крайней мере, API на основе HTTP, поэтому вы можете выбрать, какую клиентскую библиотеку вы хотите использовать (например, urllib2
).
Для создания сопоставления в вашей базе данных будет первичное сопоставление таблиц.такие сайты, как bar
для одного или нескольких псевдонимов домена.Человек войдет в систему и отобразит www.widgetsimakeinmyhome.com
на bar
.
Теперь вашему программному обеспечению необходимо сопоставить заголовок Host
как с таблицей первичного сайта, так и с таблицей псевдонимов, чтобы найти правильный сайт.