Last modified: January 24, 2026

This article is written in: 🇺🇸

Reverse Proxy

A reverse proxy is a special server that receives incoming requests from external clients and forwards them to one or more internal web servers. By acting as an intermediary, it hides the details of the internal network, providing a single entry point that can improve load balancing, security, caching, and overall performance of the back-end servers.

ASCII DIAGRAM: Reverse Proxy in Action

          +----------------------+
          |      Internet       |
          +---------+-----------+
                    |
             (Incoming Requests)
                    v
             +------+------+
             | Reverse     |
             |  Proxy      |
             +------+------+ 
                    |
   (Traffic routed to appropriate server)
     +------+--------+--------+------+
     |      |        |        |      |
     v      v        v        v      v
 +---------+--+  +----------+--+  +----------+--+
 | Web Server 1 |  | Web Server 2 |  | Web Server 3 |
 +--------------+  +--------------+  +--------------+
  1. Client: Makes an HTTP/HTTPS request to a domain or IP, not knowing there are multiple servers behind a reverse proxy.
  2. Reverse Proxy: Decides which internal server handles the request, often based on load-balancing rules or caching policies.
  3. Internal Servers: Process the request and send a response back through the proxy, which then returns it to the client.

Comparing Forward and Reverse Proxies

Forward Proxy Reverse Proxy
Sits between clients and the internet. Positioned between external users and internal servers.
Primarily used for client anonymity, caching, or content filtering on outbound connections. Primarily used for load balancing, security, caching, and controlling inbound connections.
Often used to bypass geographic restrictions or apply organizational policies for outbound traffic. Often used to protect internal servers from direct exposure, enhance performance, and handle SSL offloading.

How a Reverse Proxy Works

  1. Request to Proxy: A client sends a request (e.g., GET /index.html) to the reverse proxy’s IP or domain.
  2. Server Selection: The proxy checks its rules (like load balancing or caching).
  3. Forwarding: The request is routed to a suitable backend server (e.g., one with the smallest load).
  4. Response Return: The chosen server responds back to the proxy.
  5. Final Delivery: The proxy sends the server’s response to the client as if it was from the proxy itself.
Client -> Reverse Proxy -> Web Server -> Reverse Proxy -> Client

Common Use Cases

I. Load Balancing

II. Web Acceleration

III. Security and Anonymity

IV. SSL Encryption

Types of Reverse Proxies

I. Software-Based

II. Hardware-Based

III. Cloud-Based Reverse Proxies

Security Implications

I. Security Benefits

II. Potential Risks

III. Integrating with Other Security Tools