簡體   English   中英

AWS ElasticBeanStalk節點中的套接字Io

[英]Socket Io in AWS ElasticBeanStalk Node

我在Elastic Bean stalk中有一個Node js應用程序。我們正在考慮將Socket io用於功能。

我在某些地方讀到必須在AWS elasticbeanstalk中手動啟用套接字io支持。 特別是當它使用默認的NGINX代理時。

我讀到默認情況下,一個彈性beantalk實例的前面有一個nginx代理,該代理未配置為允許webSockets。

這是正確的信息嗎? 如果是這樣,如何在AWS EB中啟用套接字io支持?

這是正確的信息。 您需要為Elastic Beanstalk部署進行一些其他配置,以使WebSockets(Socket.io或其他方式)正常工作。

創建Elastic Beanstalk環境后,需要將負載均衡器配置為接受TCP連接,並將配置文件添加到節點項目的根目錄中:

配置負載均衡器:

  • 轉到您的EC2控制台,然后選擇“ Load Balancers”選項卡
  • 從列表中選擇屬於您的ELB環境的負載均衡器
  • 選擇“偵聽器”選項卡
  • 將默認條目的實例協議更改為TCP

添加配置文件:

  • 在節點項目的根目錄中,創建一個名為.ebextensions的文件夾。

在新的.ebextensions文件夾中創建一個名為enable-websockets.config文件,其內容如下:

container_commands:
  enable_websockets:
    command: |
      sed -i '/\s*proxy_set_header\s*Connection/c \
              proxy_set_header Upgrade $http_upgrade;\
              proxy_set_header Connection "upgrade";\
              proxy_pass_request_headers on;\
              ' /tmp/deployment/config/#etc#nginx#conf.d#00_elastic_beanstalk_proxy.conf

該文件告訴NGINX反向代理如何處理WebSockets與應用服務器通信所需的HTTP 101升級狀態代碼。

暫無
暫無

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

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