Apache & Rstudio Shiny 应用重定向/代理
Posted
技术标签:
【中文标题】Apache & Rstudio Shiny 应用重定向/代理【英文标题】:Apache & Rstudio Shiny App Redirect/Proxy 【发布时间】:2017-07-21 06:18:59 【问题描述】:我在网上找到了很多关于此的建议,但没有一个与我的确切问题相符。我有一个网络服务器设置,我让我们的网络人员给我一个 DNS 名称。我们称之为analytics.mycompany.com
。这在端口 80 上运行,我没有问题。
几个月前,我创建了一个 RStudio Shiny 应用程序,默认情况下,它在端口 3838 上运行。因此,我通过http://analytics.mycompany.com:3838/dashboard/
得到了这个。这一切都很好,但领导层要求提供一个更简单的 URL。我让我的 DNS 人员给我一个别名 analytics.mycompany.com
为 dashboard.mycompany.com
。其中,默认情况下只指向同一个端口 80 网站。
现在,我想用一点 apache/virtualhost/rewriterules/proxy 我可以告诉 apache 处理它从 dashboard.mycompany.com
接收到的任何内容,以便在 http://analytics.mycompany.com:3838/dashboard/
处显示仪表板。玩过这个之后,我可以得到一个像http://analytics.mycompany.com/dashboard/
这样的 URL 来转发到正确的 :3838 端口和 URL,但我真正想要的是有人能够只输入 http://dashboard.mycompany.com
并让闪亮的仪表板出现。我知道在 DNS 中你不能为端口设置别名,所以它已经过时了。我希望 apache 能以某种方式处理这个问题,通过说,“好的,我在端口 80 上有这个 URL,我将在端口 3838 上显示这个其他站点的内容。”
我不确定这是否可行,但这是我想要的。现在我在端口 80 的虚拟主机的 httpd.conf 文件是这样的:
<VirtualHost *:80>
ServerAdmin admin@mycompany.com
DocumentRoot /var/www/html
RewriteEngine on
RewriteCond %REQUEST_METHOD ^HEAD
RewriteRule ^/dashboard(.*) /foo/index.html
Redirect /dashboard http://analytics.mycompany.com:3838/dashboard
ProxyPass /dashboard/ http://analytics.mycompany.com:3838/dashboard
ProxyPassReverse /dashboard http://analytics.mycompany.com:3838/dashboard
</VirtualHost>
这是基于我找到的一个示例,并且与我所了解的一样接近。我在想我需要某种虚拟主机来作为新别名,如下所示:
<VirtualHost dashboard.mycompany.com:80>
.....
</VirtualHost>
但是,我发现的所有 VirtualHost 示例都是 *:80 或一些 IP 地址,例如 192.168.0.1:80 等。如果有人有建议或方法我可以在一个简单的 URL 上提供服务,我将不胜感激。非常感谢!
【问题讨论】:
我找到了部分答案。根据另一篇文章,我必须在 RHEL 上修改 SELinux,如下: /usr/sbin/setsebool -P httpd_can_network_connect 1 完成后,我现在可以输入analytics.mycompany.com/dashboard,它显示时没有:3838。现在我只需要以某种方式使“dashboard.mycompany.com”在“analytics.mycompany.com/dashboard”处显示内容。对此的任何进一步帮助都会很棒。谢谢! 【参考方案1】:为了结束这件事,这是一个由两部分组成的过程:
-
我不得不禁用 SELinux,因为它有干扰。
我按照上面的说明创建了一个 VirtualHost 条目(基本上是一个端口重定向)
由于我们使用主 DNS,我必须让我的网络人员为域添加一个到 InfoBlox 的条目。
之后,一切都按预期进行。 :)
【讨论】:
以上是关于Apache & Rstudio Shiny 应用重定向/代理的主要内容,如果未能解决你的问题,请参考以下文章
python趋势稳定检验Kwiatkowski-Phillips-Schmidt-Shin