我已经在网上找到了很多关于此的建议,但没有任何与我的确切问题相符的内容 . 我有一个网络服务器设置,我让我们的网络人员给我一个DNS名称 . 我们称之为 analytics.mycompany.com
. 这在端口80上运行,我没有问题 .
几个月前,我创建了一个RStudio Shiny应用程序,默认情况下,它运行在端口3838上 . 因此,我通过 http://analytics.mycompany.com:3838/dashboard/
进行了此操作 . 这一切都很好,但领导层要求提供更简单的网址 . 我有我的DNS伙伴给我一个 analytics.mycompany.com
的别名为 dashboard.mycompany.com
. 其中,默认只指向同一个端口80网站 .
现在,我想通过一个小的apache / virtualhost / rewriterules / proxy我可以告诉apache处理从_1604113收到的任何内容,只显示 http://analytics.mycompany.com:3838/dashboard/
处的仪表板 . 玩完这个之后,我可以获得像 http://analytics.mycompany.com/dashboard/
这样的URL转发到正确的:3838端口和URL,但我真正想要的是让某人能够输入 http://dashboard.mycompany.com
并且只显示闪亮的仪表板 . 我知道在DNS中你不能为端口创建别名,所以这就是out . 我希望apache能以某种方式处理这个问题,并说,"ok, I have this URL on port 80 and I'm going to just display the content of this other site at port 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提供服务,我将非常感激 . 非常感谢!
1 回答
为了结束这个过程,这是一个两部分的过程:
我不得不禁用SELinux,因为它正在干扰 .
我创建了一个如上所述的VirtualHost条目(基本上是一个端口重定向)
由于我们使用主DNS,因此我必须让我的网络人员为域添加InfoBlox条目 .
在那之后,一切都按预期工作 . :)