Rstudio and shiny server proxy setting

nginx, proxy, rstudio, shiny-server

Solution

RStudio complier prompt

`Listening on http://'127.0.0.1':7146`

Doesn't this mean that you should be passing the proxied request to `7146` rather than `8787`?

The 404 error message indicates that the path isn't found.

To answer the question more directly, look here: http://table1.org/setting-up-an-ubuntu-server-with-nginx-up-to-run-shiny-applications.

That page gives the nginx siteconf file to read:

server {
    listen 80;
    server_name shinyapp.domain.name;

    location / {
            proxy_pass http://server-ip-address:3838/shinyapp/;
            proxy_redirect http://server-ip-address:3838/ $scheme:$host/;
    }
}

So, you should be able to run your shiny server without having to proxy it through RStudio. Since you want to run it in a sub directory, you might be able to use this code:

location /rstudio/ {
     rewrite ^/rstudio/(.*)$ /$1 break;
     proxy_pass http://localhost:3838;
     proxy_redirect http://localhost:3838/ $scheme://$host/rstudio/;
}

If that doesn't work, try changing out `localhost` for `127.0.0.1` or the actual ip address.

Problem

i have installed RStudio Server v0.98.507 and Shiny Server v1.1.0.10000 on my ubuntu14 my rstudio proxy setting on nginx default ``` location /rstudio/ { rewrite ^/rstudio/(.*)$ /$1 break; proxy_pass http://localhost:8787; proxy_redirect http://localhost:8787/ $scheme://$host/rstudio/; } ``` that' my shiny server setting at /etc/shiny-server/shiny-server.conf ``` # Define the user we should use when spawning R Shiny processes run_as shiny; # Define a top-level server which will listen on a port server { # Instruct this server to listen on port 3838 listen 3838; # Define the location available at the base URL location / { # Run this location in 'site_dir' mode, which hosts the entire directory # tree at '/srv/shiny-server' site_dir /srv/shiny-server; # Define where we should put the log files for this location log_dir /var/log/shiny-server; # Should we list the contents of a (non-Shiny-App) directory when the user # visits the corresponding URL? directory_index on; } } ``` i can run both rstudio and shiny-server, however, when i call a shiny example such as ``` library(shiny) runExample("01_hello") ``` when RStudio complier prompt ``` Listening on http://'127.0.0.1':7146 ``` the url return a invalid response and here the console on my chrome shown ``` WebSocket connection to 'ws://mydomain.com/rstudio/p/7146/websocket/' failed: Error during WebSocket handshake: Unexpected response code: 404 mydomaion.com/rstudio/p/7146/shared/shiny.js:507 WebSocket is already in CLOSING or CLOSED state. ``` However, when i remove the proxy bypass of the RStudio in nginx default to ``` #location /rstudio/ { # rewrite ^/rstudio/(.*)$ /$1 break; # proxy_pass http://localhost:8787; # proxy_redirect http://localhost:8787/ $scheme://$host/rstudio/; # } ``` it can run the shiny application from RStudio. My question is how could i config the RStudio and Shiny server so i could remove :8787 to run the rstudio and :3838 to run the shiny server.

Original source