Индивидуальное сопоставление доменов в Azure - PullRequest
0 голосов
/ 31 января 2012

У меня есть приложение .NET MVC 3, SQL Server, работающее в Azure.У него есть 2 экземпляра веб-ролей и один экземпляр рабочей роли.

В настоящее время мы разрешаем клиентам вставлять iFrame (я знаю, это не идеально, но без меня) в их сайт, который показывает наш контент.

Чтобы получить этот контент, у нас есть общедоступная страница, которая принимает уникальный идентификатор компании.Например, StackOverflow будет использовать 'http://myapplication.com/stack-overflow'.. Это вернет HTML-страницу, специфичную для компании.

Нам нравится идея сопоставления записи CName на стороне клиента непосредственно с их контентом в нашем приложении.Из того, что я понимаю, мы должны принять, что в случае StackOverflow 'stack-overflow.myapplication.com' находит извлечение подкаталога и возвращает содержимое в 'http://myapplication.com/stack-overflow'.

Может кто-нибудь пролить свет на то, как это делается наЛазурь?

Любая помощь будет очень ученика.

С уважением, Брайан

1 Ответ

2 голосов
/ 31 января 2012

Это будет то же самое для Azure и для любого развернутого приложения IIS. Вам просто нужно сопоставить все пользовательские субдомены как CNAME с вашим доменом cloudapp.net. Не меняйте ничего в ваших определениях сервиса и / или файлах конфигурации. А в приложении есть простая логика, которая проверяет:

Request.Headers["host"]

Этот заголовок будет иметь полное имя хоста (т.е. stack-overflow.myapplication.com). Теперь вы можете проанализировать URL, извлечь поддомен и сопоставить его с соответствующим ресурсом.

Другой подход заключается в использовании модуля перезаписи URL для IIS и создании чего-то похожего на то, что я делал с веб-сервером Apache и mod_rewrite (я думаю, именно то, что вам нужно). Я не уверен, что вы можете использовать мои правила переписывания Apache 1: 1 для модуля перезаписи IIS, но это было бы хорошей отправной точкой. Обратите внимание, что теперь (начиная с Azure SDK 1.3) модуль перезаписи URL включен по умолчанию в полной версии IIS Azure.

...