2016-06-02 12 views
0

私はapacheまたはnginxを使用せずにポート3000のEC2インスタンスでNodeJSアプリケーションを実行しています。私は、SSL対応(ELB上のACM)を前面に設定したELBを持っています。今、私はhttps alwaysで私のweb-appのURLを開きたいと思っています。私はhttps上で開いているポート3000にポート443要求をリダイレクトしました。同じですが、ポート80で443と一緒に行き、最終的にポート3000になるようにリクエストしたいのと同じです。ポート80でWebアプリケーションのURLをリクエストしても、httpsにリダイレクトしてからポート3000で終了する必要があるからです。Awsエラスティックロードバランサ

あなたは私に教えてください。これは、HTTPSで開かれているポート80のリクエストに対して、ELBでどのように実装できますか?私のポート3000はEC2インスタンスのhttpにあります。

ポート443 HTTPS ---->ポート(3000)、HTTP(その作業)

ポート80(HTTP)---->(443)httpsで開きたい----->ポート(3000)http(実装したい)

+0

AWS ELBを使用してhttpsを強制することはできません。その設定をWebサーバーに追加する必要があります。 – error2007s

答えて

2

ELBはこの機能をサポートしていません。これはあなたのWebアプリケーションが対処する必要があるものです。 ポート80をポート3000に転送するようELBを設定することもできますし、アプリでX-Forwarded-Protoヘッダーを検査する必要があります。これはhttpsではない場合、あなたはこれを解決するためのポート443

Amazon's X-Forwarded Docs

-1

へのリダイレクトを発行し、我々はサンプルnodeJSアプリまたは任意のデフォルトのWebページ(可能性があり、ポート80上で何かを実行する必要がありますhtmlまたはphp)、ポート443にポート80リクエストをリダイレクトし、ポート443は実際のNodeJSアプリケーションを実行しているポート3000(aws ELB内の設定)にリダイレクトします。

関連する問題