簡體   English   中英

添加 SSL 和 apache 后,閃亮的服務器斷開應用程序?

[英]Shiny server disconnecting app after adding SSL and apache?

我在帶有免費版本的閃亮服務器的虛擬機上部署了一個閃亮的應用程序。 它在本地工作時沒有任何問題,並且在通過本地主機(同一內部網)訪問時。

但是,在添加 Apache 和 SSL 證書以便能夠從任何地方訪問應用程序后,出現了一些斷開連接的問題。

當應用程序需要進行更長時間的計算(約 1 分鍾)時,它會斷開連接。 但是,在斷開連接之前,它會顯示該計算的結果(在本例中為帶有plotly )。

我收到這些錯誤:

Firefox can’t establish a connection to the server at https://*****/websocket

Connection closed. Info: {"type":"close","code":4704,
"reason":"Protocol error handling message: Error: Discard position id too big","wasClean":true}

/var/log/shiny-service/.log上的日志文件沒有顯示任何錯誤:這是最后一行: Please specify in ggplotly() or plot_ly() 不會導致任何錯誤的消息。

我已經嘗試了所有我能找到的東西:

阿帕奇配置:

  1. keepAlive On
  2. MaxKeepAliveRequests 0

閃亮的服務器配置:

  1. app_init_timeout 300;
  2. app_idle_timeout 300;

我不知道還有什么可以嘗試解決這個問題,任何幫助將不勝感激。

編輯

這是應用程序斷開連接后的樣子,一分鍾后生成了繪圖,但它仍然自動斷開連接。 在此處輸入圖片說明

我相信您可以通過增加app_init_timeoutapp_idle_timeout的值來解決問題。 請參閱此 SO 線程這些相關文檔。 另請參閱(關於 Apache MaxKeepAliveRequests選項)。

我會通過反復試驗找到最佳值,但根據其他用戶的評論,它可能需要高達 1800。我想它在您的 LAN 上工作的原因是這種方式的延遲會低得多。

話雖如此,如果花費的時間如此之長,那么應用程序中可能需要以某種方式重新編碼或依賴於某些過大的數據集。 您可以通過減少發送到 plot.ly 的數據大小或正在計算的計算范圍來測試這一點,然后查看問題是否消失。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM