
¿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.