QA
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→

More System Design & Architecture Interview Questions

Beginner LevelSystem Design & Architecture

Explain the CAP Theorem and PACELC Theorem with real-world database examples.

Beginner LevelSystem Design & Architecture

What is Vertical Scaling (Scale Up) vs Horizontal Scaling (Scale Out)?

Beginner LevelSystem Design & Architecture

How do Load Balancers distribute traffic (Round Robin, Least Connections, IP Hash)?