WebSocketserver hinter Nginx und Apache

WebSocketserver hinter Nginx und Apache

Wie ist es möglich, eine WebSocket-Verbindung über Nginx und Apache herzustellen, wobei beide als Reverse-Proxys fungieren?

Das System ist mit Apache auf dem Haupthost und einer Tornado-Webanwendung in einem Container eingerichtet.

Meine Apache-Konfiguration lautet wie folgt:

<LocationMatch /container_path/(?<app>(.+))/ws >
        ProxyPass                       "ws://container_ip/app_name/%{env:MATCH_APP}/ws"
        ProxyPassReverseCookiePath      "/"  "/container_path/"

</LocationMatch>

Meine Nginx-Konfiguration sieht ungefähr wie folgt aus:

upstream backend {
        server 127.0.0.1:8888;
}

server {
    listen 80;


    location ~ /ws$ {

        proxy_pass http://backend;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

Mit diesen Einstellungen erhalte ich eine400 Ungültige AnfrageStatus vom WebSocketHandler von Tornado.

Danke im Voraus für jeden Hinweis

verwandte Informationen