Я разрабатываю мультитенантное веб-приложение в ASP.NET MVC, и оно предоставит моим пользователям возможность иметь настраиваемый поддомен, указывающий на страницу их учетной записи (например, user.myapp.com). У меня уже есть работа с использованием подстановочной записи DNS и кода для запроса базы данных для загрузки пользовательских данных на основе домена.
Я планирую предложить возможность использования пользовательских доменов, позволяя пользователям покупать свои собственные домены и использовать их вместо субдоменов, которые будут предоставлены по умолчанию.
В настоящее время я использую DNSMadeEasy для размещения DNS для основного домена приложения.
Я просто не знаю, какие настройки мне нужно сделать, чтобы эта функция работала, поскольку у пользователей будут домены, размещенные в нескольких компаниях. Придется ли мне создавать собственные серверы имен и предоставлять их моим пользователям?
Что еще я должен учесть, чтобы реализовать это эффективно?
это должен быть случай проверки заголовка хоста:
string incomingUrl = Request.Url.Host;
switch (incomingUrl)
{
case "user.domain.com":
//Do your dynamic output here
break;
case "www.totallydifferentdomain.com":
//Do your dynamic output here
break;
}
Если у вас есть такая логика в вашем приложении, то все, что вам нужно сделать, это настроить свои пользователи DNS так, чтобы они указывали CNAME на ваш сервер, таким образом, ваш сервер будет видеть значение Request.Url.Host как установленное на их доменное имя. .