What is a 'reverse proxy' and how does it improve security compared to exposing the application server directly?
- A.A reverse proxy forwards client requests to a backend server, hiding the backend server's IP, port, and technology stack; it provides SSL termination, can enforce security headers, absorb DoS traffic, and gives a central point to apply WAF, rate limiting, and request filtering
- B.A reverse proxy encrypts all database connections between the app server and database
- C.A reverse proxy is the opposite of a load balancer - it routes outbound requests from the server to the internet
- D.A reverse proxy stores static files locally and serves them without hitting the origin
Why A is correct
A reverse proxy (Nginx, Apache, HAProxy, Cloudflare) sits between the internet and your application. Security benefits: hides the real application server (IP, port, technology), handles TLS so the app server can use plain HTTP internally, applies consistent security headers and WAF rules centrally, can absorb SYN flood and DoS traffic before it reaches the app, and enables rate limiting and request validation at the edge.
Know someone studying for Web App Fundamentals? Send them this one.