Unicorn behind ELB, no nginx
If I understand Unicorn right (and in particular from their philosophy doc) it seems like Unicorn was really designed to operate behind a reverse proxy like nginx.
My question is: can I drop nginx from my HTTP stack, considering we have an ELB at the top acting as the reverse proxy?
I didn't find any issues on initial tests, but just wondering if anyone out there has experience on this front already.
According to the Unicorn philosophy doc, the most important requirement is that the reverse proxy buffers requests and responses so that Unicorn isn't held up by slow clients. I can't find any definitive information, but this forum post and the following part of the ELB documentation imply that ELB does do some buffering in HTTP/HTTPS mode (but not in TCP/SSL mode).
When you use HTTP (layer 7) for both front-end and back-end connections, your load balancer parses the headers in the request and terminates the connection before re-sending the request to the registered instance(s).