reverse proxy
also: reverse proxy server, gateway proxy
A reverse proxy is a server that sits between clients and backend servers, intercepting client requests and forwarding them to the appropriate backend server on behalf of the client.
A reverse proxy acts as an intermediary that accepts incoming client requests and routes them to one or more backend servers, then returns the responses back to the clients. Unlike a forward proxy (which hides the client's identity), a reverse proxy hides the identity and details of the backend servers from clients.
Common uses include load balancing (distributing traffic across multiple servers), caching frequently requested content, SSL termination (handling encryption/decryption), and providing a single entry point for a service architecture.
For example, Nginx is often configured as a reverse proxy to sit in front of multiple application servers running on ports 8001, 8002, and 8003. When a client makes an HTTP request, Nginx receives it, decides which backend server should handle it, forwards the request, and sends the response back to the client.
curl http://example.com might hit the Nginx reverse proxy, which then routes the request to one of several backend servers without the client knowing the internal architecture exists.