2017-11-10 3 views
2

enter image description hereElastic Beanstalkでは私は私はここ(<a href="https://mitchellsimoens.com/websockets-behind-elastic-beanstalk/" rel="nofollow noreferrer">https://mitchellsimoens.com/websockets-behind-elastic-beanstalk/</a>)命令を実行した後、まだ私のElastic Beanstalkでアプリケーション経由のWebSocketを有効にしようとしています

設定メニューにバランサの設定をロードしていない、私は自分のアプリケーションの健康状態が悪くなる見つけます。これはおそらく、この命令で説明している設定メニューでロードバランサの設定を見つけることができなかったためです。ここで

私の設定メニューのスクリーンショットです:明らか

enter image description here

、WebSocketのは、自分のアプリケーションのために働いていません。私のプロジェクトに.ebextensions/files.configを追加した後、実際はアプリケーション全体がダウンしています。もちろん、私のprocess.env.PORTは3000の代わりに80である(私は、どこを見るかわからない)。あなたが必要とする、デフォルトで

あなたが何をしたか Scaling > Single instanceタイプEB、の設定は負荷分散はありません
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"; 
     } 
     } 

答えて

1

しかし、上のかなりのスポットです。

私はこれらの2つの設定を試してみました8080ではなく8080を聴くことができます(AWSはそのように混乱します)。使用しているポート(この場合は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 
関連する問題