Konfigurieren von AWS ELB und Nginx für WebSocket-Protokoll?
Habe ich N-tier-Architektur web-Anwendung in der AWS. HTTP-request-flow, um durch diese:
- Nginx-ELB (öffentliche ELB, proxy Nginx)
- Nginx (EC2-instances in öffentlichen Subnetz, lauschen auf port 80, proxy AP-ELB)
- AP-ELB (interne ELB, proxy AP-Server)
- AP-Server (EC2-Instanzen im private-subnet, lauschen auf port 80)
Ich möchte WebSocket Merkmal dieser Architektur.
Wie konfigurieren Sie für zwei Schicht-ELB und hinter Nginx?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie einen anderen Anschluss für die ws://- Protokoll auf, da ELB nicht zulassen, hören Sie gleichen port im anderen Modus (HTTP/TCP). Zum Beispiel: ws://Nginx-ELB:8081/ws-endpoint
Ist aufgeteilt in zwei Teile erklären.
Nginx Abschnitt
Über WebSocket-proxy, können Sie auf diesen Konfiguration.
config Beispiel so:
ELB-Abschnitt
Nginx-ELB
Erstellen Sie port-Weiterleitung Folgen Sie dieser:
Dann nutzen Sie Ihre AWS-CLI ausführen:
AP-ELB
Erstellen Sie port-Weiterleitung Folgen Sie dieser:
Gelten NICHT alle load balancer Politik für diese ELB!
Diesem Abschnitt lassen Sie mich Kopfschmerzen für mehrere Tage. Wenn anwendbar, die gleiche Politik, um sowohl die ELB, die Sie nie das richtige Ergebnis.
Nun, genießen Sie Ihre WebSocket mit AWS ELB und Nginx.