繁体   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