簡體   English   中英

有沒有人將Primus與AWS Elastic Load Balancer后面的websockets一起使用?

[英]Has anyone used Primus with websockets behind aws Elastic Load Balancer?

我有一個運行在端口80上的node.js應用程序服務器,最近我通過端口9001上的Primus websockets轉換器添加了實時消息傳遞。

它在單個實例中運行良好。 我使用以下配置將消息傳遞部署到Beanstalk環境。

AWS Elastic Beanstalk
Platform version v2.0.0
Nodejs version v0.12.6
Primus version v4.0.5
  • 如屏幕快照所示,端口9001已添加到實例的安全組。 在此處輸入圖片說明
  • 在配置選項中,代理服務器設置為“無”。 在此處輸入圖片說明
  • TCP偵聽器已添加到Elastic Load Balancer配置中。 在此處輸入圖片說明
  • aws文檔中所述啟用了代理協議。 在此處輸入圖片說明 在此處輸入圖片說明 在此處輸入圖片說明
  • 在原始服務器配置中添加了proxywrap。

但是客戶端請求沒有到達實例,並且連接超時。 有人在AWS ELB后面使用primus和websockets嗎? 請讓我知道在Elastic Beanstalk之后啟用websockets通信的配置。

我設法通過以下配置在ELB的端口80和8080上運行websockets( https://github.com/websockets/ws )。 多數民眾贊成在沒有啟用代理協議的情況下。

安全組:

https://cloud.githubusercontent.com/assets/3421858/14969922/ff6659f4-10bc-11e6-903c-168a530efebd.png

負載平衡器偵聽器:

https://cloud.githubusercontent.com/assets/3421858/14969937/160c7544-10bd-11e6-8357-a11f5481d9fd.png

容器選項:

https://cloud.githubusercontent.com/assets/3421858/14969950/38776f1c-10bd-11e6-961b-aabbf0ab1d66.png

負載均衡器:

https://cloud.githubusercontent.com/assets/3421858/14969983/6c4f47ce-10bd-11e6-8fa0-eb8180ffb281.png

你需要做兩件事

增加ELB的空閑超時

在EC2儀表板上,到達Load Balancer設置,然后打開Load Balancer的Description選項卡。 查找設置“空閑超時”,輸入類似“ 600”的內容(持續10分鍾)

定期Ping

每5分鍾(或其他時間)實施一次WS Ping,但需要低於ELB上的空閑超時。 如果primus不支持其API,請自行實現向客戶端發送虛擬消息。

暫無
暫無

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

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