如何使用Apache和HTTPS将流量重定向到多个Shiny Apps?

时间:2019-04-01 17:30:50

标签: r shiny apache2 shiny-server proxypass

我在/etc/apache2/sites-enabled/000-default.conf文件中进行了以下设置。

<VirtualHost *:80>

        Redirect "/" "https://example.com"

</VirtualHost>
    <VirtualHost *:*>
     SSLEngine on

     ProxyPreserveHost On
     ProxyPass /client http://0.0.0.0:3838/ubuntu/client/
     ProxyPassReverse /client http://0.0.0.0:3838/ubuntu/client/

     ProxyPreserveHost On
     ProxyPass / http://0.0.0.0:3838/ubuntu/globalelite/
     ProxyPassReverse / http://0.0.0.0:3838/ubuntu/globalelite/

     ServerName localhost
     ServerAlias example.com
     Include /etc/letsencrypt/options-ssl-apache.conf
     SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
     SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
    </VirtualHost>

它完美地将流量路由到名为globalelite的我的Shiny App。问题是当我尝试使用/client访问时。页面已加载,但“闪亮”应用并非100%正确。 UI元素无法正确加载。这很奇怪,因为如果我允许常规端口访问并且忽略httpsapache重新路由,则应用程序可以使用serverip:3838/ubuntu/globalelite/serverip:3838:ubuntu/client/完美运行。

使用/something代理的某些事情破坏了Shiny App的UI输出。

如何解决此问题?我需要在两个不同的端口上托管我的shiny-server吗?

编辑::该应用看起来像enter image description here

其外观应为:enter image description here

使用shinydashboard并不是问题,因为如果我将此应用设置为“默认”应用,但不使用/client_app,它将正确加载

如果我将Proxy更改为/ubuntu/client,则应用程序如下所示:enter image description here

0 个答案:

没有答案