This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-01-24
Channels
- # aatree (27)
- # admin-announcements (5)
- # all-the-channels (2)
- # aws (27)
- # beginners (38)
- # boot (48)
- # braid-chat (18)
- # cider (6)
- # cljs-dev (9)
- # cljsrn (8)
- # clojars (4)
- # clojure (73)
- # clojure-dev (2)
- # clojure-russia (2)
- # clojure-sg (1)
- # clojurescript (96)
- # code-reviews (3)
- # community-development (4)
- # conf-proposals (17)
- # core-matrix (2)
- # cursive (2)
- # datascript (4)
- # datomic (4)
- # dirac (1)
- # funcool (5)
- # hoplon (2)
- # mount (66)
- # off-topic (35)
- # om (211)
- # parinfer (2)
- # pedestal (2)
- # proton (1)
- # reagent (2)
Anyone managed to setup a Clojure app with Sente (https://github.com/ptaoussanis/sente/) based web sockets with AWS ELB in front?
In my setup with HTTPS the browser never connects the web socket, and best case (without the SSL endpoint encryption) the server returns status 200 ok instead of 101 (changing protocols).
What setup would you suggest - ELB on port 80 through to a nginx with SSL, reverse proxying to the application?
I think I got to work with my previous Ruby+node/socket.io project, but can't check how it was setup now unfortunately. It was done similarly to the link above and it worked, so this hopefully should work for you.
If you do, then it makes sense to either a) keep using ELB, b) consider setting up something like HAProxy
Though I think I was doing what you described and terminating SSL with nginx on the same machine Ruby was running on.
Yes, but I don’t think SSL termination on ELB works with websockets (as far as I’ve been able to read out there).
Also found this right now - https://blog.jverkamp.com/2015/07/20/configuring-websockets-behind-an-aws-elb/. And this - http://spicefactory.co/blog/2015/09/17/aws-elb-wss/. In case the above would not be enough.
As I understand, though it's been a while - you can terminate SSL on the ELB, but you can't do anything HTTP/WSS-specific (like adding headers), since you proxy on the transport layer (and I just may be mistaken and TLS is negotiated above that level, then you would be right).
Please bear in mind I’m sort-of a newbie with most of AWS. Have been using EC2 for a while, but not ECS/ELB etc.
Could it be an idea to install nginx reverse proxy directly in my container instance running my app?
A thing to keep in mind - ELB treats only a direct 200 as a healthy instance. In particular a 3xx to a URL serving a 2xx will be considered unhealthy.