2016-06-02 14 views
0

Ich verwende NodeJS App auf EC2-Instanz auf Port 3000 ohne Apache oder Nginx. Ich habe ELB vorne mit SSL aktiviert (ACM auf ELB). Jetzt möchte ich meine Web-App-URL mit https immer öffnen. Ich habe Port 443 Anforderung an Port 3000 umgeleitet, die auf https geöffnet ist. Das Gleiche möchte ich mit Port 80 Anfrage mit 443 gehen und dann schließlich bis Port 3000, Denn wenn jemand mit Port 80 für die Web-App-URL anfordern, die auch auf https umleiten und dann auf Port 3000 enden sollte.Aws Elastic Load Balancer

Also können Sie mir sagen, wie kann ich auf ELB diese Sache für Port 80 Anfrage, die auch mit https öffnen. Mein Port 3000 ist auf http auf EC2-Instanz.

Port 443 https ----> Port (3000) http (seine Arbeits)

Port 80 (http) ----> wollen mit https öffnen (443) -----> port (3000) http (dies möchte ich implementieren)

+0

Sie können https nicht mit einem AWS ELB erzwingen, Sie müssen diese Einstellungen Ihrem Webserver hinzufügen. – error2007s

Antwort

2

Ich fürchte, ELB hat keine Unterstützung für diese Funktion eingebaut. Es ist etwas, mit dem Ihre Web-App umgehen müsste. Sie könnten den ELB so einstellen, dass Port 80 auch zu Port 3000 weitergeleitet wird. In Ihrer App müssen Sie dann den Header X-Forwarded-Proto überprüfen. wenn dies nicht https dann würden Sie 443.

Amazon's X-Forwarded Docs

-1

für Lösung dieses Problems eine Umleitung auf Port ausgeben, müssen wir etwas auf Port laufen 80, die Probe NodeJS App oder eine Standard-Web-Seite sein könnte (html oder php) und dann Port 80 Anfrage an Port 443 umleiten und Port 443 wird zum Port 3000 (Setup in aws ELB) umgeleitet, auf dem die aktuelle NodeJS App läuft.

Verwandte Themen