Beginner LevelSystem Design & Architecture
What is a Reverse Proxy (NGINX, HAProxy, Envoy) and how does it differ from a Forward Proxy?
β Interview Prompt: Compare Forward Proxy (protecting client identity) vs Reverse Proxy (protecting backend servers, SSL termination, load balancing, compression).
Differentiating proxy server architectures:
β’
Forward Proxy: Sits in front of client browsers (e.g. corporate network proxy). Masks client IP addresses and enforces internet egress filtering.
β’
Reverse Proxy (NGINX, Envoy, HAProxy): Sits in front of backend web servers. Intercepts incoming client requests to perform SSL/TLS Termination, HTTP caching, Gzip compression, and Load Balancing, hiding backend internal IP topology.
Code Implementation Example
markdown
Forward Proxy vs Reverse Proxy:
[Forward Proxy]
[Clients] ββ> [Forward Proxy] ββ> (Internet / External Web)
[Reverse Proxy]
(Internet) ββ> [Reverse Proxy (NGINX)] ββ> [Backend Server Pool]π‘Forward Proxy protecting clients vs Reverse Proxy protecting backend web servers.
π― Interview Key Takeaway
Deploy Reverse Proxies (NGINX/Envoy) at the perimeter for SSL termination, compression, and load balancing.
#System Design#Reverse Proxy#NGINX#Envoy#Beginner
Back to all System Design & Architecture Questionsβ