A reverse proxy is a server that sits in front of the webserver, intercepts the request, and either respond to the client with a response from its cache or forward the request to the origin server. A reverse proxy is used to protect the web servers from DDoS attacks, distribute load amongst multiple servers, and utilize its cache to serve static contents without sending requests to the origin server. No client will communicate directly with the server, and the server's IP address will not be revealed to the public.