[英]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
但是客戶端請求沒有到達實例,並且連接超時。 有人在AWS ELB后面使用primus和websockets嗎? 請讓我知道在Elastic Beanstalk之后啟用websockets通信的配置。
我設法通過以下配置在ELB的端口80和8080上運行websockets( https://github.com/websockets/ws )。 多數民眾贊成在沒有啟用代理協議的情況下。
安全組:
負載平衡器偵聽器:
容器選項:
負載均衡器:
你需要做兩件事
增加ELB的空閑超時
在EC2儀表板上,到達Load Balancer設置,然后打開Load Balancer的Description選項卡。 查找設置“空閑超時”,輸入類似“ 600”的內容(持續10分鍾)
定期Ping
每5分鍾(或其他時間)實施一次WS Ping,但需要低於ELB上的空閑超時。 如果primus不支持其API,請自行實現向客戶端發送虛擬消息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.