Differences Between Forward Proxy and Reverse Proxy

There are mainly two types of proxy servers: forward proxy and reverse proxy. When people talk about proxy servers, most of the time they mean forward proxy.

Differences Between Forward Proxy and Reverse Proxy

The main difference between the two is that forward proxy is used by the client such as a web browser whereas reverse proxy is used by the server such as a web server. Forward proxy can reside in the same internal network as the client, or it can be on the Internet.

Forward Proxy

Forward proxy can be used by the client to bypass firewall restrictions in order to visit websites that are blocked by schools, governments, companies etc. If a website blocked an IP range from visiting the website, then a person in that IP range can use forward proxy to hide the real IP of the client so that person can visit the website and maybe leave some spam comments. However forward proxy might be detected by the website administrator. There are some paid proxy services that have numerous proxy systems around the world so that they can change your IP address every time your visit a new web page and this makes it harder for website administrators to detect.

Forward proxy was very useful and popular in the 1990s. Before NAT is integrated into network routers, forward proxy is the way for multiple computers in the same network to access the Internet. This type of forward proxy usually resides in the internal network.

Forward proxy can also act as a cache server in an internal network. If a resource is downloaded many times, then the proxy can cache the content on the server so next time when another computer downloads the same content, the proxy will send the content that is previously stored on the server to the computer.

There’re many different kinds of forward proxy such as web proxy, HTTP proxy, SOCKS proxy etc. Please keep in mind that using a forward proxy to browse the Internet usually slows down your overall Internet speed. That depends on the location between your computer and the forward proxy and how many people are using that forward proxy.

Another thing to be aware of is that there’re many free forward proxies that are built by hackers for malicious purposes. If you happen to be using one of these proxies, they will log every activity you do on the Internet.  So free in charge is actually very costly.

Reverse Proxy

Reverse proxy is mainly used by server admins to achieve load balancing and high availability. A website may have several web servers behind the reverse proxy. The reverse proxy server takes requests from the Internet and forwards these requests to one of the back-end web servers. Most visitors don’t know websites are using reverse proxy because they usually lack the knowledge and tools to detect it or they simply don’t care about it.

reverse proxy

Another use of a Reverse Proxy is to act as a secure portal, denying users on the internet direct access to back-end operating systems – i.e. the customer only ever talks to the proxy, the proxy talks to the back-end. Moderation based on destination URL and source IP can also be implemented with reverse proxy.

There are many reverse proxy software such as:

  • Nginx can act as a web server and a reverse proxy at the same time.
  • Apache can act as a web server and a reverse proxy at the same time.
  • HAProxy is a well-known, feature-rich, and open-source reverse proxy software.

As Node.js become more and more popular in the web development community due to its high performance, web developers often put the built-in Node.js web server behind another web server like Nginx, so Nginx is the reverse proxy. One example is the Ghost blogging platform.

As a matter of fact, if you want to run Apache and Nginx on the same host, you can use HAProxy to achieve that. HAProxy can also act as a reverse proxy for SMTP and IMAP traffic.

Rate this tutorial
[Total: 168 Average: 3.8]

14 Responses to “Differences Between Forward Proxy and Reverse Proxy

  • varun gupta
    1 week ago

    Thanks for the info in relation to the real world examples.

  • On point differences, beating the stackoverflow thread for me.

  • Very useful article.

    Thanks.

  • chanchal
    6 months ago

    good

  • Useful, Thanks a lot!

  • Ravinder Saini
    5 years ago

    I didn’t know about reverse proxy

    Thanx for the details

  • can we say like this the forward proxy will hide the identity of the client machine (which is making the request) and reverse proxy will hide the identity of the server machine (which is giving the response). is it right

    • Xiao Guo An (Admin)
      5 years ago

      If you replace “identify” with “IP address”, that would be correct.

  • T0m cr00z
    4 years ago

    Hi xiao

    So reverse proxy can hide my webserver real public ip address?

    • Xiao Guoan (Admin)
      4 years ago

      Yes, if the reverse proxy and web server are using different IP addresses.

  • A_Linux_User
    3 years ago

    Was very good, simple and intuitive! Thank you! 🙂

  • Amazing article.

  • how to configure Nginx and Apache to work as reverse proxy

Leave a Comment

  • Comments with links are moderated by admin before published.
  • Your email address will not be published.
  • Use <pre> ... </pre> HTML tag to quote the output from your terminal/console.
  • Please use the community (https://community.linuxbabe.com) for questions unrelated to this article.
  • I don't have time to answer every question. Making a donation would incentivize me to spend more time answering questions.

The maximum upload file size: 2 MB. You can upload: image. Links to YouTube, Facebook, Twitter and other services inserted in the comment text will be automatically embedded. Drop file here