2017-01-30 5 views
0

私は、独自に開発して展開しているwebapisをたくさん持っています。WebApiをWebサイトに直接マップして、IISアプリケーションを使用しないでください。

各APIは、exのルーティングているだろう:

api/FirstApi

api/SecondApi

これらはwww.myapis.com/の下に展開されます。

私はIISでのAPI(秒)ごとにアプリケーションを作成する場合は、

www.myapis.com/FirstApiApp/api/FirstApi

を次のように私は、APIにアクセスするだろうが、私はそれとしてアクセスしたいです。

EX:www.myapis.com/api/FirstApi

または:www.myapis.com/api/SecondApi

私は、URLからアプリケーションFirstApiApp OR SecondApiAppを削除したいです。

IISでこのパターンを設定することはできますか?

答えて

0

あなたは以下の構造を持つことができる:

  • C:\のinetpub \ wwwrootの\ API \ FirstApi
  • C:\のinetpub \ wwwrootの\ API \ SecondApi

をそして持っていますIISのWebサイトはc:\inetpub\wwwrootにマッピングされ、apiフォルダ内には2つのアプリケーションが次のように構成されています。

enter image description here

これは、Web APIからapi/FirstApiルーティングを削除し、最初の部分がIISによって提供されるため、直接/にマップする必要があることを前提としています。これを行わないと、リクエストはwww.myapis.com/api/FirstApi/api/FirstApiになりますが、ここでの目標はありません。

これは個人的にはこれを行うことをお勧めします。より良いアプローチは、例えば、/api/FirstApiへのリクエストをbackend_node:8080にルーティングし、/api/SecondApiからbackend_node:8181にリクエストするnginxやHAProxyなどのリバースプロキシをフロントに持つことです。これにより、2つの異なるポートでリッスンするIISの2つの別個のWebサイトにWeb APIを展開し、インフラストラクチャではなくアプリケーション層にルーティングジョブを保持できます。

+0

優秀..ありがとう@ダーリンディミトロフ。 – Nilesh

関連する問題