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