2016-04-25 50 views
4

我在Apache 2.4,Ubuntu 14.04後面使用shiny-server(最新版本,1.4.2.786)。使用Apache 2.4的閃亮服務器中的代理Web套接字

按照在線文檔(https://support.rstudio.com/hc/en-us/articles/213733868-Running-Shiny-Server-with-a-Proxy)的說明,我可以正確設置網絡套接字代理。不過,我想直接將我的URL指向一個閃亮的應用程序(並非所有的應用程序)。

這是我目前的配置:

ProxyPreserveHost On 
ProxyPassMatch "^/(.+)/websocket" "ws://localhost:3838/$1/websocket" 
ProxyPass "/" "http://localhost:3838/users/username/appname/" 
ProxyPassReverse "/" "http://localhost:3838/users/username/appname/" 
ProxyRequests Off 

有了這個配置,我仍然得到一個錯誤信息:

WebSocket connection to 
'wss://my-url/__sockjs__/ 
n=WxwgyafTMc2bWeH5eR/787/mx9zqt68/websocket' 
failed: Error during WebSocket handshake: 
Unexpected response code: 500 

我想這是由插座的代理服務器的配置引起的。感謝您的任何建議,以解決它。

回答

3

你見過this?它說你的代碼應該看起來像這樣:

ProxyPreserveHost On 
ProxyPassMatch "^/(.+)/websocket" "ws://localhost:3838/$1/websocket" 
ProxyPass "https://stackoverflow.com/users/username/appname/" "http://localhost:3838/users/username/appname/" 
ProxyPassReverse "https://stackoverflow.com/users/username/appname/" "http://localhost:3838/users/username/appname/" 
ProxyRequests Off 

希望有幫助!

+0

感謝您的意見。我確實想將我的網址指向我的特定目錄。只有websocket在我的配置中不起作用。 – Bangyou

+0

哦,好的。我會嘗試尋找修補程序 –

+0

我也遇到了麻煩,直接應用程序鏈接正常工作。該應用程序加載,但有點呆滯。那個'ProxyPassMatch'位讓我意識到問題真正在哪裏。謝謝。 –