Why do application server documentations always recommend using a reverse-proxy like Nginx? Take a random app server like Gunicorn or a built in server for NPM, what's the rationale behind using Nginx in front of them? Is this merely to handle load? Also if the application already runs behind a cloud load balancer like AWS ELB, would I still need a reverse proxy?

P.S. I understand the role of a reverse proxy for SSL termination and the CPU costs associated with it. But why would anyone install Nginx on the same machine as Gunicorn and put it behind Amazon EBS is something I still cannot fathom.


If we rule out the load balancing and security purposes like this, Nginx might still be useful, as it has better performance serving static content. This way, Nginx can serve static assets while the application server handles the dynamic content.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.