Apache-Frontend für die Uwsgi-Websocket-Anwendung
Hier ist meine Konfiguration:
Apache (1) -> normale Uwsgi-App (2) -> Websocket-Uwsgi-App (3)
(1) ist wie folgt konfiguriert:
ProxyPass /{}/static/ ! ProxyPass /{}/v3/build/ ! ProxyPass /{}/ uwsgi://127.0.0.1:{}/{}/
(2) ist wie folgt konfiguriert, um die Websocket-Verarbeitung nach der Autorisierung auf (3) zu verschieben:
socket=127.0.0.1:9097 master=true workers=1 offload-threads=2 collect-header=Content-Type CONTENT_TYPE collect-header=Subscription SUBSCRIPTION response-route-if=equal:$;text/event-stream addvar:SUBSCRIPTION=$ response-route-if=equal:$;text/event-stream disableheaders: response-route-if=equal:$;text/event-stream uwsgi:/run/websockets-staging/socket,0,0
Schließlich ist (3) ziemlich einfach:
socket=/run/websockets-staging/socket plugins=python,http,gevent http-websockets=true gevent=1000
Dank strace sehe ich, dass die eingehende Websocket-Anforderung korrekt nach (3) verschoben wird, (3) den Websocket-Handshake zurückschickt, der an (2) weitergeleitet wird, wodurch er an (1) weitergeleitet wird.
Der Websocket-Handshake scheint jedoch auf dem Weg zurück zur Client-Seite verloren zu sein. Das heißt, (1) gibt niemals Daten zurück und der Websocket wird schließlich clientseitig geschlossen, wenn der Handshake nicht ankommt.
Daher meine Frage: Was hätte ich falsch machen können?
0 Antworten auf die Frage
Verwandte Probleme
-
4
Gutes freies Ubuntu Server-VMWare-Image benötigt
-
1
Apache Reverse Proxy
-
3
Ubuntu Server mit GNOME Desktop Envinronment - Einstellen der Apatche-Konfigurationsdateiberechtigun...
-
8
Wie kann ich allen Benutzern in Linux Schreibzugriff auf einen Ordner gewähren?
-
1
Apache2-Fehlerprotokoll
-
2
Mac OS X-Bash: Deinstallieren Sie alle Apache- und PHP-Vorfälle
-
6
Wie kann ich verhindern, dass Dienste beim Booten unter Ubuntu gestartet werden?
-
5
Ordnen Sie den Ordner "Sites" http: // localhost unter OS X zu
-
2
Gibt es einen kostenlosen Security Log Analyzer für Apache?
-
6
Installieren Sie mehrere PHP-Umgebungen unter OS X Snow Leopard