2017-05-31 8 views
0

それぞれ独自のExpressJSバックエンドを持つ3つのAngularJSアプリケーションがあります。あなたは、このようにすべての3つのアプリケーションを展開するにはどうすればよい:ExpressJS/NodeJS - リバースプロキシの展開

http://myapp.com/<app1> 
http://myapp.com/<app2> 
http://myapp.com/<app3> 

追加情報:
を - 私はAWS EC2インスタンス
でアプリケーションを展開しています - 私は、単一のExpressJSアプリでアプリケーションをマージしようとしました。これが機能している間、私はまだ上記のケースが可能かどうかを知りたいです

答えて

2

確かに可能です。リバースプロキシとして動作するNGINXまたはApcheが必要です。

:あなたのノードのアプリは、あなたが設定したい、ローカルポート3000、3001、および3002上でそのような場所タグの上流のサーバとしてそれらとの.confファイルを実行していると仮定すると、

。 。 。 場所/ app1 { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_headerアップグレード$ http_upgrade; proxy_set_header接続 'upgrade'; proxy_set_headerホスト$ホスト; proxy_cache_bypass $ http_upgrade; }

. . . 
location /app2 { 
    proxy_pass http://localhost:3001; 
    proxy_http_version 1.1; 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection 'upgrade'; 
    proxy_set_header Host $host; 
    proxy_cache_bypass $http_upgrade; 
} 

}

は、ここで詳細にまで読む:

0

を参照してくださいあなたが起源としてセットアップAWS CloudFrontとセットアップ各アプリケーションことができます。単一のドメイン(CloudFrontのセットアップ)から異なるExpressアプリケーションへのルーティングに柔軟性を提供し、また、Edgeの場所で静的コンテンツパスをキャッシュすることもできます。