rapachewebsocketshinyshinyproxy

Apache blocks websocket protocol for Shiny


I've deployed a web-app using Shinyproxy and Shiny.

If I go to http://localhost/mycontextpath/app/01_example everything works perfectly. The ProxyPass and ProxyPassReverse have been set up in Apache and now I can go directly to http://mywebsite.org/mycontextpath/app/01_example to use my app.

The problem is that the screen greys out automatically. I know it's a problem with Apache as the browser debugger print this message:

Firefox can't establish a connection to the server at ws://mywebsite.org/mycontextpath/wonderful_hypatia/websocket/.

I've tried to add this line to my Apache configuration:

ProxyPassMatch "^/(.+)/websocket" "ws://localhost:8146/mycontextpath/$1/websocket" keepalive=On

But it doesn't seems to work.

Any suggestion? Thank you!


Solution

  • If you have to stick to Apache as your proxy server, read this post Running Shiny Server with a Proxy.

    Or if you are open to using Nginx, Shinyproxy website actually has the detailed Nginx configuration on its website under the HTTPS (SSL / TLS) section. That's also the configuration I'm using and it works just fine.