问题描述
我们在 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 (将#修改为@)