Como é possível estabelecer uma conexão websocket através do nginx e apache, onde ambos atuam como proxies reversos.
O sistema é configurado com Apache no host principal e um aplicativo web Tornado em um contêiner.
Minha configuração do apache d é a seguinte:
<LocationMatch /container_path/(?<app>(.+))/ws >
ProxyPass "ws://container_ip/app_name/%{env:MATCH_APP}/ws"
ProxyPassReverseCookiePath "/" "/container_path/"
</LocationMatch>
Minha configuração do nginx é algo como o seguinte:
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";
}
}
Com essas configurações, recebo um400 Solicitação incorretastatus do WebSocketHandler do tornado.
Obrigado antecipadamente por cada dica