Reverse Proxy

Reverse Proxy is a type of Proxy Server that sits in front of the web server and received the request from internet. It passes on the requests to web server and sends back the response from web server to the clients.

In contrast, Forward Proxy Server or Proxy Server sits in front the the several clients and sends requests to various different websites.

Proxy Server:

Proxy Server, as name suggests, is an authority which represents some other server. It is in use since 1990s, even before NAT Gateways were introduced. Forward Proxy servers have been used in intranet to regulate or monitor the traffic and to optionally filter or  block the traffic as per the company policies. This is similar to Firewall function.

Advantages of Reverse Proxy

There are several advantages of this proxy server.

  • Load Balancing: There could be multiple web servers behind the reverse proxy. In such cases the reverse proxy server would decide where to send the request depending on the load on the web servers. Hence it can act as load balancer.
  • Caching: Optionally, Revers Proxy Server could cache the responses from the web servers (e.g. static contents). This results in reducing the load on the web servers. This is also referred as Web Acceleration.
  • Security: Since Reverse Proxy shields the backend web/app servers, it becomes difficult for hackers to know about the vulnerabilities of real web or app servers.
  • SSL offloading: Reverse Proxy can handle the SSL and open plain text connection with backend web/app server. This reduces the load on the backend servers. Additionally, Reverse Proxy Server can use hardware based SSL accelerators.

But wait, isn’t it similar to API Gateway?

You are right. API Gateway could be treated as special implementation of Reverse Proxy.

Related Links:

Related Keywords:

API Gateway, Software Architecture, Firewall, Forward Proxy Server