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

Автоматизировать создание поддомена (xyz.serverfault.com)

Как лучше всего автоматизировать создание субдоменов (например, Главный лагерь)?

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

Что-то вроде

Мы используем ту же технику на нашем сайте. На наших серверах работают Apache, MySQL и PHP в Linux.

Наша DNS-запись содержит подстановочный знак поддомена, подобный уже предложенному EK:

www                      IN A       123.456.789.012
*                        IN CNAME   www

Это перенаправит все запросы на x.y.yourdomain.com на тот же IP-адрес, что и www.yourdomain.com - также возможно иметь поддомены поддоменов.

Я не знаю perl, но в PHP вы можете получить доступ к имени хоста в любое время следующим образом:

$_SERVER['HTTP_HOST']

Я уверен, что в Perl есть эквивалент для доступа к Host-Header HTTP-запроса. Для этой цели мы используем центральный файл сценария PHP.

Редактировать: Нашли время, чтобы предоставить более подробную информацию по работе с этими доменами.

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

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

установите в своем домене подстановочный знак для * .yourdomain.com. Затем в коде используемое имя сервера находится в заголовке, просто прочтите его, чтобы обслуживать настроенный контент или при необходимости перенаправлять во вложенную папку.