Używam Meteor na AWS Elastic Beanstalk. Wszystko jest i działa poza tym, że to nie działa WebSockets z powodu następującego błędu:W jaki sposób mogę dostosować nginx do elastycznej fasoli AWS, aby załadować zbalansowany Meteor?
WebSocket connection to 'ws://MYDOMAIN/sockjs/834/sxx0k7vn/websocket' failed: Error during WebSocket handshake: Unexpected response code: 400
Moja unstanding było dodać coś takiego:
proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade";
Do konfiguracji proxy, za pośrednictwem mojego pliku konfiguracyjnym yml .
Via moim pliku konfiguracyjnym .exbextension:
files:
"/etc/nginx/conf.d/proxy.conf" :
mode: "000755"
owner: root
group: root
content: |
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
Mam ssh'd do serwera i widzę proxy.conf z tych dwóch linii w nim.
Po trafieniu na serwer wciąż widzę błąd "Błąd podczas uzgadniania WebSocket:".
Mam obciążenie beanstalk skonfigurowany z sesji samoprzylepnych oraz następujących portów:
BTW ja widziałem https://meteorhacks.com/load-balancing-your-meteor-app.html i próbowałem:
Enable HTTP load balancing with Sticky Session on Port 80 Enable TCP load balancing on Port 8080, which allows websocket
Ale nie wydaje się też to działa.
Dodanie kolejnego strzału w pewnym YAML że nie działa tu ":? https://gist.github.com/adamgins/0c0258d6e1b8203fd051
Każda pomoc docenione
Uwaga Mam jeden otwarty problem. Musiałem wyłączyć sesje lepkie przy zamianie protokołu na TCP. Mam otwarte pytanie do zrozumienia, jeśli je odzyskasz. – aginsburg
OK, dyskusja o tym, jak ważne websockets jest tutaj: https://groups.google.com/forum/#!topic/meteor-talk/M6L_Ihpu-e0 jeśli masz jakieś wejście, proszę przeskoczyć – aginsburg
Obecnie mam dev/instancja przemieszczania w ebs bez skonfigurowanego równoważnika obciążenia (opcja skalowania jest ustawiona na "pojedyncze wystąpienie"). Zakładam, że oznacza to, że nie muszę zawracać sobie głowy tym krokiem? – gb96