servidor websocket detrás de nginx y apache

servidor websocket detrás de nginx y apache

¿Cómo es posible establecer una conexión websocket a través de nginx y apache, donde ambos actúan como proxies inversos?

El sistema está configurado con Apache en el host principal y una aplicación web Tornado en un contenedor.

Mi configuración de Apache d es la siguiente:

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

</LocationMatch>

Mi configuración de nginx es algo como lo siguiente:

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";
    }
}

Con esta configuración, obtengo un400 Petición Incorrectaestado del WebSocketHandler del tornado.

Gracias de antemano por cada pista.

información relacionada