Какая конфигурация DNS и IIS необходима, чтобы несколько доменов могли указывать на мультитенантное веб-приложение?
Я разрабатываю многопользовательское веб-приложение в ASP.NET MVC, и оно предоставит моим пользователям возможность иметь собственный поддомен, указывающий на страницу их учетной записи (например, user.myapp.com). У меня уже есть это, используя запись DNS с подстановочным знаком и код для запроса базы данных для загрузки пользовательских данных на основе домена.
Я планирую предложить возможность использования пользовательских доменов, позволяя пользователям покупать свои собственные домены и использовать их вместо поддоменов, которые будут предоставлены по умолчанию.
В настоящее время я использую DNSMadeEasy для размещения DNS для основного домена приложения.
Я просто не знаю, какие настройки я должен установить, чтобы эта функция работала, поскольку у пользователей будут домены, размещенные в нескольких компаниях. Должен ли я создавать свои собственные серверы имен и предоставлять их своим пользователям?
Какие еще вещи я должен рассмотреть, чтобы реализовать это эффективно?
1 ответ
Это должен быть случай проверки заголовка хоста:
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 в качестве значения своего доменного имени.,