Azure - соединение нескольких контейнеров службы приложений с настраиваемым доменом и ssl - PullRequest
0 голосов
/ 02 октября 2019

Я подошел к точке своего проекта, где я готов развернуть его в Интернете со своим пользовательским доменом через Azure, как только я выполню обновление из моей бесплатной подписки.

Итак, небольшой контекст, у меня есть 1служба веб-приложений и 4 службы API, каждая из которых размещена в отдельной службе приложений, например:

www.sitename.azurewebsites.net

www.sitename-api1.azurewebsites.net

www.sitename-api2.azurewebsites.net

www.sitename-api3.azurewebsites.net

www.sitename-api4.azurewebsites.net

И вышеупомянутое веб-приложение связывается со всеми 4 API, и некоторые API могут или не могут общаться с другим. (Мне бы понравился шлюз приложений, так что, надеюсь, я буду менять эту архитектуру позже).

Поэтому, когда я собираюсь связать свой домен со службами, веб-контейнер кажется мне довольно простым. как только он становится www.sitename.com, но я немного запутался в службах API. Я думаю об этом, что каждый API-сервис будет находиться в своем собственном поддомене, например:

www.api1.sitename.net

www.api2.sitename.net

www.api3.sitename.net

www.api4.sitename.net

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

  1. Должен ли яразместить каждый API в поддомене, используя тот же домен, что и веб-приложение, или есть другой способ предпочтения, например, когда я размещаю их все в одном домене с разными открытыми портами для API и веб-прослушивания 80/443, или, возможно, просто использоватьIP-адрес службы приложений api и разрешить www.sitename.com в качестве источника для CORS?
  2. Я предполагаю, что, поскольку я связываю свой сертификат SSL с веб-службой, мне потребуется выполнить следующие действия:службы API?
  3. Было бы лучше (и по-прежнему доступно), если бы у меня была только VNET, связанная со службами приложений, и домен, зарегистрированный только в веб-приложении?

Anyпонимание этого было бы здоровоЯ высоко ценю то, как я могу установить связь между службами приложений с помощью своего пользовательского домена и SSL, поскольку я довольно новичок в этой части стека, но в восторге от обучения!

1 Ответ

0 голосов
/ 10 октября 2019

Как я знаю, в облаке Azure есть две службы, которые могут помочь управлять вашими API, развернутыми в нескольких контейнерах служб приложений: Управление API и Шлюз приложений .

  1. Уровень управления API Premium имеет функцию для нескольких пользовательских доменных имен, см. Официальный документ Сравнение уровней Azure API Management на основе функций, как показано на рисунке ниже.

    enter image description here

    Вы можете обратиться к краткому руководству по Create a new Azure API Management service instance и другим связанным документам, чтобы узнать, как.

  2. «Azure Application Gateway - это балансировщик нагрузки веб-трафика, который позволяет управлять трафиком для ваших веб-приложений». сказано во введении Что такое шлюз приложений Azure? . Как показано на рисунке ниже, «С помощью Application Gateway вы можете принимать решения о маршрутизации на основе дополнительных атрибутов HTTP-запроса, таких как путь URI или заголовки хоста. Например, вы можете маршрутизировать трафик на основе входящего URL-адреса. если / images находится во входящем URL, вы можете направлять трафик на определенный набор серверов (известный как пул), настроенный для изображений. Если / video находится в URL, этот трафик направляется в другой пул, оптимизированный для видео. "

    enter image description here

Я рекомендовал использовать шлюз приложений Azure, который будет хорошим выбором для управления несколькими службами приложений и предоставления унифицированных URL-адресовAPI-интерфейсы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...