Apache 重定向/重写到 ShinyProxy 服务器

问题描述

我们在 Apache 服务器后面运行一个 Shiny 服务器和一个 ShinyProxy 服务器。我们想让 ShinyProxy 服务器应用程序在 URL my.domain.com/app/app2

ShinyProxy 服务器应用程序在端口 8080 (localhost:8080) 下的服务器上可用

其他 Shiny 应用程序(不是 ShinyProxy)应该仍然可以在 URL my.domain.com/app1、my.domain.com/app2、my.domain.com/appN 下使用

普通的 Shiny 服务器运行在 3838 端口 (localhost:3838)

我们正在努力寻找正确的 Apache 重写规则以实现以下目标:

my.domain.com/app1 -> localhost:3838(闪亮的服务器)

my.domain.com/app/app2 -> localhost:8080(ShinyProxy 服务器)

我们得到的壁橱是符合以下条件的

RewriteRule /pscapp/(.*) ws://localhost:3838/$1 [P,L] 
RewriteCond %{​​​​​HTTP:Upgrade}​​​​​ !=websocket RewriteRule /pscapp/(.*) http://localhost:3838/$1 [P,L] 
ProxyPass /pacapp http://localhost:3838/ retry=1 acquire=3000 timeout=600 Keepalive=On 
ProxyPassReverse /pscapp http://localhost:3838/ 
#ProxyRequests Off 
#RewriteCond /app !-f 
RewriteCond %{​​​​​HTTP:Upgrade}​​​​​ =websocket RewriteRule /app/(.*) ws://localhost:8080/$1 [P,L] 
RewriteCond %{​​​​​HTTP:Upgrade}​​​​​ !=websocket RewriteRule /app/(.*) http://localhost:8080/$1 [P,L] 
ProxyPass /app/ http://localhost:8080/ retry=1 acquire=3000 timeout=600 Keepalive=On 
ProxyPassReverse /app/(.*) http://localhost:8080/app/(.*) 
ProxyRequests Off

当我们重新启动 httpd 时,Shiny 服务器位工作正常。但是 ShinyProxy 位只是显示了一点内容然后卡住了,即:

访问 https://my.domain.com/app1 正常

访问 https://my.domain.com/app/app2 启动了 ShinyProxy docker 容器,但浏览器中不存在该应用。

您知道我们如何实现这一目标以及有什么问题吗?

最好的问候 程

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)