2016-06-14 5 views
2

HTTPプロキシサーバーとしてNginxを使用したいと考えています。複数のRESTfulエンドポイントへのNginxルーティング

バックエンドでは、RESTful APIをそれぞれ公開するJavaで書かれた3つの異なるアプリケーションがあります。すべてのアプリケーションは、API上に独自の接頭辞を持ちます。

例えば

:フロントエンドで

APP 1 - URI prefix: /api/admin/** 
APP 2 - URI prefix: /api/customer/** 
APP 3 - URI prefix: /api/support/** 

、我々はこれらのURIのにSPAページ作り要求を持っています。

NginxにURIプレフィックスに応じてHTTPリクエストをルーティングするよう指示する方法はありますか?

ありがとうございます!

答えて

3

私はあなたのいくつかのURIプレフィックスのそれぞれに従って再ルーティングするためにnginxプロキシ転送を使用することができると確信しています。私はnginxでプロキシ転送を使用しています。あなたの例で私は(私はあなたの比較のために、ここでそのページから/ fooのエントリを保存している)URI接頭辞で、具体的な情報を与えるページから適応している:

https://serverfault.com/questions/379675/nginx-reverse-proxy-url-rewrite

がproxy_redirectからproxy_passの違いに注意すること(も参照してください。

server { 
listen   80; 
server_name  www.example.com; 

location /api/admin { 
    proxy_pass http://localhost:3200/; 
} 

location /api/customer { 
    proxy_pass http://localhost:3200/; 
} 

location /api/support { 
    proxy_pass http://localhost:3200/; 
} 

location /foo { 
    proxy_pass http://localhost:3200/; 
} 

}

:)、あなたのコードで http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass

、場所は次のようなものになるだろう

私が言及したリンクのように、プレフィックスの後ろに野生のカーディングを可能にする各位置指令の終わりにスラッシュを書き留めます。もちろん、各パスがリダイレクトされるURLは、この例ではlocalhost:3200と同じである必要はありません。

+0

恐ろしく!ありがとう!これは私が探していたものです:) – dfanaro

関連する問題