Reverse proxy definition
A reverse proxy is a server that acts as a middleman between clients (such as web browsers) and backend servers that host websites and web apps. It receives requests from clients and passes them on to the right server. Once the server responds, the reverse proxy sends the answer back to the client. For example, when you type a URL, the reverse proxy fetches the page from the website’s server and shows it to your browser. It happens quickly, but the reverse proxy is working away behind the scenes.
See also: caching proxy
How a reverse proxy works
- When a client, like a web browser, sends a request for a webpage or resource, it first goes to the reverse proxy server.
- The reverse proxy reviews the request and decides which backend server should handle it. It then forwards the request to that server.
- The backend server processes the request, retrieves the requested webpage or resource, and sends a response back to the proxy server.
- Finally, the reverse proxy receives the response from the backend server and forwards it back to the client that made the initial request. That’s when you see a webpage or resource you requested.
Examples of reverse proxy functions
- Load balancing — Reverse proxies evenly spread out incoming requests to different servers to keep everything running smoothly.
- SSL/TLS termination — Reverse proxies handle encryption and decryption, taking this task off the hands of backend servers to make systems more efficient.
- Web application firewalls (WAFs) — WAFs use reverse proxies to inspect incoming web traffic and block potential threats before they reach the backend servers.
- API gateways — Reverse proxies can serve as API gateways, routing and managing incoming API requests to backend services.