Tengo un sitio web que se ejecuta en http://XXX.XXX.XXX.XXX:3000 y ejecuta [Botpress][1] Para que se ejecute a través de HTTPS, realicé una configuración de proxy inverso de Apache: Mi archivo se ve así:
SSLProxyEngine on ProxyPass "/" "http://XXX.XXX.XXX.XXX:3000/" ProxyPassReverse "/" "http://XXX.XXX.XXX.XXX:3000/" ProxyPass "/socket.io/" "ws://XXX.XXX.XXX.XXX:3000/socket.io/" ProxyPassReverse "/socket.io/" "ws://XXX.XXX.XXX.XXX:3000/socket.io/"Ahora, si voy a https://botpress.mywebsite.com , veo que la interfaz de administración de Botstrap funciona; sin embargo, cuando inicio sesión, veo un error en la consola del navegador que muestra:
Firefox no puede establecer una conexión con el servidor en wss://botpress.mywebsite.com/socket.io/?visitorId=_GUWkjNu-VH9XpE3DpO76PxD&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9....&transport=websocket. web.100.....94b.js:2:6616130 se interrumpió mientras se cargaba la página.
¿Hay algún problema en mi archivo de configuración con ProxyPass y ProxyPassReverse para socket.io?
Gracias. [1]: https://botpress.com/
Pasé unos días en esto. Descubrí que el problema estaba realmente en el orden en que se agregaron las cosas en el archivo conf.
'RewriteEngine On' 'RewriteCond %{QUERY_STRING} transport=polling [OR]' 'RewriteCond %{REQUEST_URI} /socket.io/socket.io.js' 'RewriteRule /socket.io/(.*)$ http://localhost:3000/socket.io/$1 [P]' 'ProxyPass /socket.io/ ws://localhost:3000/socket.io/' 'ProxyPassReverse /socket.io/ ws://localhost:8082/socket.io/' 'ProxyPass / http://localhost:3000/' 'ProxyPassReverse / http://localhost:3000' 'ProxyPreserveHost on'