Difference between Forward Proxy and Reverse Proxy Server

Carvia Tech | December 01, 2019 | 2 min read | 11 views


Forward Proxy Server

A proxy server is a go-between or intermediary server that forwards user requests for content from multiple clients to different server across the internet.

proxy server
Illustration image for forward proxy server

The main purpose of forward proxy server is to help users access the servers over the internet.

From a client’s perspective

Reverse Proxy Server

A reverse proxy server is a type of proxy server that typically sits behind the firewall in a private network and directs client requests to the appropriate backend server. Reverse proxy fetches content from backend server unbeknown to user and returns result as if it originated from the reverse proxy server itself. So the backend servers sitting behind reverse proxy server are not directly exposed to the clients.

reverse proxy server
Illustration image for reverse proxy server

One of the main reason of using reverse proxy server is to protect the backend servers from clients by proxying all the requests.

Common uses for reverse proxy server includes:

Load balancing

A reverse proxy server sits in front of your backend servers and distributes client requests across a group of backend servers doing load balancing to ensure that no server is overloaded. If a server goes down, it can redirect the traffic to the remaining available servers.

Web acceleration

A reverse proxy server can cache the commonly used static files in memory and serve them much faster. Also it can compress inbound and outbound data to reduce network bandwidth usage. It can also do SSL encryption to take load off of your application servers, thereby boosting the performance.

Security

Reverse proxy server can act as a guard to protect against the security attacks. If a client is making too many requests to backend servers, it can throtlle the requests as per configuration.

Examples

common examples of reverse proxy server includes nginx, apache httpd.


Top articles in this category:
  1. DevOps interview questions - Basic Concepts, Microservices, Databases, AWS
  2. Basic Unix commands for every programmer
  3. Installing nginx on macOS Mojave using brew
  4. Install OpenJDK 11 on Ubuntu 18.04 LTS
  5. Install and upgrade Jenkins on Ubuntu 18.04 LTS
  6. Install Artifactory OSS private maven repository


Find more on this topic:
Dev Ops image
Dev Ops

Dev Ops Automation - Ubuntu OS, Centos, MySql, MongoDB, Java, AWS Infrastructure.

Last updated 1 week ago


Recommended books for interview preparation:

This website uses cookies to ensure you get the best experience on our website. more info