我在Azure中有一个Linux VM,该Linux VM在端口80上运行Shiny服务器。此VM分配了1个公共IP地址,例如x.x.x.x
通常情况下,Shiny服务的是/srv/shiny-server
目录,该目录由index.html
文件和sample-apps
目录自动生成。通常,每个Shiny应用都在/srv/shiny-server
的子文件夹中创建,例如/srv/shiny-server/myapp
,因此可以在x.x.x.x/myapp
处通过Internet访问,因此,如果您使用A记录将域(例如www.mysite.com
)指向IP,则该应用程序可以在{{1}使用}。
相反,我希望能够将我的域直接指向其应用程序,因此在此示例中,mysite.com/myapp
应该指向mysite.com
,而不仅仅是x.x.x.x/myapp
。
如果我只有1个应用程序,则可以将其直接放在x.x.x.x
目录中以解决问题,但是我不想为每个应用程序/站点都购买新的VM。我仍然需要将每个应用程序放在自己的/srv/shiny-server
子文件夹中。
在寻找解决方案时,我发现评论here提到“主机头重定向”通常用于通过Apache或IIS完成此操作。有没有办法在Shiny服务器上管理主机头重定向(或者以其他方式解决根本问题)?
作为一个非常临时的权宜之计,我一直在使用URL转发将域重定向到/srv/shiny-server
,但由于某些原因,我不喜欢此解决方案,其中包括要求显示IP而不是域中的地址栏,它对“ SEO”有负面影响,并且阻止了我使用DDoS保护服务。