I am running Meteor on AWS Elastic Beanstalk. Everything is up and running except that it's not running Websockets with the following error:
WebSocket connection to 'ws://MYDOMAIN/sockjs/834/sxx0k7vn/websocket' failed: Error during WebSocket handshake: Unexpected response code: 400
My unstanding was to add something like:
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
To the proxy config, via my YML config file.
Via my .exbextension config file:
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";
I have ssh'd into the server and I can see the proxy.conf with those two lines in it.
When I hit my webserver I still see the "Error during WebSocket handshake: " error.
I have my beanstalk load configured with stick sessions and the following ports:
BTW I did see https://meteorhacks.com/load-balancing-your-meteor-app.html and I tried to:
Enable HTTP load balancing with Sticky Session on Port 80
Enable TCP load balancing on Port 8080, which allows websocket
But could not seem to get that working either.
Adding another shot at some YAML that does NOT work here": https://gist.github.com/adamgins/0c0258d6e1b8203fd051
Any help appreciated?