Hosting an shiny server inside an internal network

Background
We are working with sensitive data in an r-server, which is installed on a Linux Ubuntu server in an internal network. The connection to the linux server is SSL protected an AD authentication is needed.

Aim
We have a need to produce interactive visualizations of the data without showing the actual data. Following really good experiences with RShiny apps, we have discussed whether to also proceed with installing the shiny server on the Linux Ubuntu server.

Questions
Before any steps are taken, our IT section would hope to see whether an app running in Shiny Server Open Source could be accessible for people having contact to the internal network (VPN needed) but not access to the actual Linux server where the Shiny server would be running. Do you know if this is possible, or is this restricted to non-open source versions of Shiny servers? In addition, would I be able to visualize the shiny app through the linux server HTTPS protocol or would the internet connection be created directly from the shiny server as HTTP?

I have looked through stackoverflow forums and RStudio's website Shiny Server - RStudio but got mixed answers.

Hi oscarbruck,

Here are instructions that I have collected for setting up shiny-server open source with HTTPS: https://github.com/Tychobra/shiny_scripts/blob/master/shiny_server_tls_setup.md

These instructions are specific to setting up the shiny server on Google Cloud Platform, but with a few tweaks you should be able to use them to set up shiny server with HTTPS on any cloud provider or on an on premise server.

For restricting access to your internal network, you would need to set up Firewall rules to only allow access from your internal network. It is certainly doable, but the setup is specific to your Firewall configuration and security requirements.

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.

Thanks @merlinoa for the answer and the very nice github instructions! Sounds logical, I will give a try.