Ich versuche meine websockets mit Amazon Web Service und Elastic Beanstalk (ELB) zu arbeiten.
Ich habe ein Proxy-Protokoll eingerichtet nach: Ссылка
Ich habe den gesamten eingehenden Datenverkehr zu meinem Load Balancer und anderen Sicherheitsgruppen an allen Ports für alle IPs geöffnet.
Ich habe auch den Load-Balancer-Listener als HTTP an Port 80 gehalten.
Meine Websocket-Verbindung gibt den folgenden Fehler beim Verbinden auf Port 80: fehlgeschlagen: Fehler beim WebSocket-Handshake: Unerwarteter Antwortcode: 400
Und dieser Fehler an Port 8080: fehlgeschlagen: Fehler beim Verbindungsaufbau: net :: ERR_CONNECTION_REFUSED
Würde mich über Vorschläge freuen, ich stecke an diesem Punkt fest.
Danke!
Nach der Konfiguration der EC2-Sicherheitsgruppe wird Ihre Anwendung mit öffentlicher IP-Adresse arbeiten.
Aber Sie werden immer noch Probleme mit der Verwendung von EB URL haben. Um dieses Problem zu lösen, müssen Sie die EB-Konfiguration ändern.
Jetzt können Sie auf EB URL klicken.
AWS hat einen neuen Application Load Balancer eingeführt, der Web-Sockets unterstützt. Ändern Sie Ihren ELB in Application Load Balancer und das wird Ihr Problem beheben.
Sie sollten einen Reverse-Proxy für den Nginx-Server erstellen. Sie können diese Konfigurationsdatei in Ihren .extensions-Ordner aufnehmen, um Nginx-Unterstützung zu erhalten WS.
Ändern Sie in der Load-Balancer-Konfiguration des EBS auch das Protokoll von HTTP zu TCP.
Rufen Sie diesen Blog auf, um ein sicheres WebSocket einzurichten.
Ich suchte auch nach einer möglichen Problemumgehung für dieses Problem, aber es ist ziemlich einfach, unabhängig davon, welche Plattform Sprache Sie verwenden, um Websocket-Programm auf AWS EC2 zu entwickeln, wie in meinem Fall Node.js Nginx verwenden, sollte dies für alle funktionieren unterstützende Plattformen.
Sicherheitsgruppe konfigurieren
Hinweis: Wenn etwas nicht funktioniert, überprüfen Sie die Registerkarte "Ereignisse" in der Beanstalk-Anwendung / Umgebungen und finden Sie heraus, was schief gelaufen ist.
Tags und Links websocket amazon-web-services amazon-elb