2017-11-10 4 views
2

enter image description hereElastic Beanstalk ist nicht Balancer Einstellung im Konfigurationsmenü laden

Ich versuche websocket über meine Elastic Beanstalk-Anwendung zu ermöglichen, doch nachdem ich die Anweisung hier (https://mitchellsimoens.com/websockets-behind-elastic-beanstalk/) folgen, finde ich die Gesundheit meiner Anwendung abgebaut wird. Dies liegt wahrscheinlich daran, dass ich die Load-Balancer-Einstellung im Konfigurationsmenü, das in dieser Anweisung erwähnt wird, nicht gefunden habe. Hier

ist ein Screenshot von meinem Konfigurationsmenü:

enter image description here

Offensichtlich ist die websocket nicht für meine Anwendung arbeiten. In der Tat ist die gesamte Anwendung heruntergefahren, nachdem ich die .ebextensions/files.config zu meinem Projekt hinzugefügt habe. Natürlich ist mein process.env.PORT 80 statt 3000 (ich denke nicht sicher, wo ich hinschauen soll).

Ich habe diese beiden Einstellungen ausprobiert:

Standardmäßig müssen Sie:

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"; 
     } 
     } 

Antwort

1

für Scaling > Single instance Typ EB Einstellung Ausgleich keine Last Es ist, was man so ziemlich genau richtig, aber getan hat, ist 8080 anstelle von 80 zu hören (AWS ist so verwirrend) und muss den Verkehr an den von Ihnen verwendeten Port senden, in diesem Fall 80, also ...

Auch Sie müssen die alte nginx_confg löschen und starten Sie die Instanz/den Server neu.

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 
Verwandte Themen