[英]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连接,并将配置文件添加到节点项目的根目录中:
配置负载均衡器:
添加配置文件:
.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.