niceque
@niceque
Энтузиаст

Как сделать функционал привязки домена?

По аналогии с сервисами конструкторов сайтов или блог-сервисы в которых клиент может привязать домен к своей страничке.

Проще говоря у меня есть сервис где каждый пользователь создавший аккаунт имеет свою страничку, и может привязать доменное имя купленное у регистратора введя мои dns (ns1.myservice.ru, ns2.myservice.ru) к этой страничке

Таким образом имея адрес myservice.ru/andrey он может привязать andreyblog.ru введя мои ns сервера у регистратора и открывать страничку myservice.ru/andrey по адресу andreyblog.ru

Как такое реализовать? Можно ли сделать не сложную вариацию на виртуальном хостиге? Или VDS крайне необходим?
Как я понимаю нужно поднимать свой dns сервер..

Если не сложно натолкните на суть решения.
Привелико благодарен!
  • Вопрос задан
  • 516 просмотров
Решения вопроса 1
Sanes
@Sanes
На виртуальном хостинге вряд ли. Можно конечно, но для этого хостер должен предоставить API. На сервере без проблем. Сейчас примерно тем же самым занимаюсь.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@mantyr
Пишу много Golang кода с удовольствием:)
На стороне dns-сервера:
  • поставить bind и настроить его работу на MySQL или любую другую SQL базу данных
  • генерировать текстовые конфиги для bind (или любого другого dns-сервера)
  • сделать конфиг где в любых случаях всех кто запросит любой домен с этого DNS отправлять на список IP принадлежащих сервису.


Во всех трёх случаях slave сервера нужно будет настроить так же как master. Тоесть вряд ли у вас будет связка где master вы будете генерировать, а slave будут более глупыми и забирать зоны у master не зная их списка.

На стороне веб-сервера:
Если речь о vps/vds/collocation/dedication сервере то можно:
  • генерировать nginx конфиги виртуальных хостов
  • генерировать apache конфиги виртуальных хостов
  • сделать настройку по умолчанию на некий скрипт и уже в скрипте инклудить каталог с доменом
  • поискать в настройках nginx/apache (или какой вы там веб-сервер используете) возможность включить хост в адрес пути - уверен там такое должно быть


Уверен можно придумать ещё два-три кейса на эту тему.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы