1

Nginx と Puma を実行している Elastic Beanstalk に ActionCable をデプロイした Rails 5.0 アプリを取得しようとしています。

私は.ebextensions/nginx.config次のものを持っています:

location /cable { proxy_pass http://backend; proxy_http_version 1.1; proxy_set_header Upgrade websocket; proxy_set_header Connection upgrade; }

そしてconfig/environments/production.rb

config.action_cable.allowed_request_origins = [ 'http://####.####.com', /http:\/\/####.*/ ]

アプリを Elastic Beanstalk 環境にデプロイした後、Chrome コンソールに次のエラーが表示されます。

「ws://####.####.com/cable」への WebSocket 接続に失敗しました: 接続が確立される前に WebSocket が閉じられました。

このスレッドのアドバイスに従ってみましたが、代わりにこのエラーが発生します。

'ws://####.####.com/cable' への WebSocket 接続に失敗しました: WebSocket ハンドシェイク中のエラー: 予期しない応答コード: 404

これは私の.ebextensions/nginx.configファイルが現在どのように見えるかです。

どんな助けでも大歓迎です。

4

1 に答える 1

2

Elastic Load Balancer で接続が切断されていたことが判明しました。ELB リスナーは HTTP に設定され、TCP である必要がありました。

于 2016-07-07T18:06:56.477 に答える