A reverse proxy is called “reverse” because it acts in the opposite way of a traditional (forward) proxy.
What a forward proxy does:
- A forward proxy sits in front of clients (users).
- It acts as an intermediary for client requests going out to the internet.
- For example, a company might use a forward proxy so their employees’ requests to websites go through it for caching, filtering, or anonymity.
- The client knows about and configures the forward proxy.
What a reverse proxy does:
- A reverse proxy sits in front of servers (websites or services).
- It acts as an intermediary for client requests coming into the server.
- Clients make requests to the reverse proxy as if it were the server; the reverse proxy forwards the requests to one or more backend servers.
- The backend servers may be hidden or protected by the reverse proxy.
- The client usually doesn’t know about the backend servers or the reverse proxy itself.
Why “reverse”?
- The forward proxy proxies on behalf of clients going outward to servers.
- The reverse proxy proxies on behalf of servers handling incoming client requests.
- So, it’s the “reverse” direction of proxying: inbound to servers instead of outbound from clients.
Typical uses of reverse proxies:
- Load balancing between multiple servers
- Caching content to improve performance
- SSL termination (decrypting HTTPS)
- Web application firewall / security
- Hiding or protecting origin servers
“Reverse” proxy means the proxy is on the server-side, proxying incoming requests for servers, reversing the usual client-side proxy role.