0

Apache サーバーの背後で Shiny サーバーと ShinyProxy サーバーを運用しています。URL my.domain.com/app/app2 でアクセスできる ShinyProxy サーバー アプリを作成したいと考えています。

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 コンテナーが起動しましたが、アプリがブラウザーに存在しませんでした。

どうすればこれを達成できるのか、何が間違っているのか分かりますか?

よろしくチェン

4

0 に答える 0