Elastic Beanstalk在configuration菜单中没有负载平衡器设置

在这里输入图像描述

我尝试在我的Elastic Beanstalk应用程序上启用websocket,但是按照此处的说明( https://mitchellsimoens.com/websockets-behind-elastic-beanstalk/ ),我发现我的应用程序的运行状况已经降级。 这可能是因为我没有在本指令中提到的configuration菜单中find负载平衡器设置。

这是我的configuration菜单的屏幕截图:

在这里输入图像描述

显然,websocket不适用于我的应用程序。 事实上,在将.ebextensions/files.config添加到我的项目中后,整个应用程序都closures了。 当然,我的process.env.PORT是80而不是3000(我想,不知道在哪里看)。

我试过这两个设置:

 files: "/etc/nginx/conf.d/01_websockets.conf" : mode: "000644" owner: root group: root content : | upstream nodejs { server 127.0.0.1:process.env.PORT; keepalive 256; } server { listen process.env.PORT; large_client_header_buffers 8 32k; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; # prevents 502 bad gateway error proxy_buffers 8 32k; proxy_buffer_size 64k; proxy_pass http://nodejs; proxy_redirect off; # enables WS support proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } } files: "/etc/nginx/conf.d/01_websockets.conf" : mode: "000644" owner: root group: root content : | upstream nodejs { server 127.0.0.1:80; keepalive 256; } server { listen 80; large_client_header_buffers 8 32k; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; # prevents 502 bad gateway error proxy_buffers 8 32k; proxy_buffer_size 64k; proxy_pass http://nodejs; proxy_redirect off; # enables WS support proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } } 

对于Scaling > Single instancetypesEB,没有负载平衡设置,但是您所做的事情非常多,

默认情况下,你需要听8080而不是80(AWS是这样混淆),并且需要把你的stream量发送到你正在使用的任何端口,在这种情况下,80,所以…

还需要删除旧的nginx_confg并重新启动实例/服务器。

 files: "/etc/nginx/conf.d/01_websockets.conf": mode: "000644" owner: root group: root content : | upstream nodejs { server 127.0.0.1:80; keepalive 256; } server { listen 8080; large_client_header_buffers 8 32k; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; # prevents 502 bad gateway error proxy_buffers 8 32k; proxy_buffer_size 64k; proxy_pass http://nodejs; proxy_redirect off; # enables WS support proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } } "/opt/elasticbeanstalk/hooks/appdeploy/enact/41_remove_eb_nginx_confg.sh": mode: "000755" owner: root group: root content : | mv /etc/nginx/conf.d/00_elastic_beanstalk_proxy.conf /etc/nginx/conf.d/00_elastic_beanstalk_proxy.conf.old