2017-01-30 12 views
0

У меня есть много webapis, которые разрабатываются и развертываются независимо.Карта WebApi прямо на сайт, а не приложение IIS

Каждый API бы маршрутизации напр:

api/FirstApi

api/SecondApi

Они будут развернуты под www.myapis.com/.

Если я создаю приложение для каждого из API (ы) в IIS, я бы доступ к API следующим

www.myapis.com/FirstApiApp/api/FirstApi

, но я хочу, чтобы получить доступ к нему, как.

EX: www.myapis.com/api/FirstApi

Или: www.myapis.com/api/SecondApi

Я хочу, чтобы удалить приложение FirstApiApp ИЛИ SecondApiApp из URL.

Можно ли настроить этот шаблон в IIS?

ответ

0

Вы могли бы иметь следующую структуру:

  • C: \ Inetpub \ Wwwroot \ апи \ FirstApi
  • C: \ Inetpub \ Wwwroot \ апи \ SecondApi

И тогда есть веб-сайт в IIS сопоставлен с c:\inetpub\wwwroot и внутри папки api у вас есть 2 приложения, сконфигурированные следующим образом:

enter image description here

Предполагается, что вы должны отказаться от маршрутизациииз своих веб-интерфейсов и сопоставить их с / напрямую, поскольку первая часть будет предоставлена ​​IIS. Если вы этого не сделаете, запрос станет www.myapis.com/api/FirstApi/api/FirstApi, который не является целью здесь.

Это, как говорится, лично я бы рекомендовал вам не делать этого. Лучшим подходом было бы иметь обратный прокси-сервер, такой как nginx или HAProxy, который направит запросы на /api/FirstApi, например, backend_node:8080 и запросит /api/SecondApi до backend_node:8181. Это позволит вам развернуть свои веб-интерфейсы на двух отдельных веб-сайтах в IIS, прослушивая два разных порта, и сохраните задание маршрутизации на прикладном уровне, а не в инфраструктуре.

+0

Отлично .. Спасибо @ Darin Dimitrov. – Nilesh