Types of Proxy Servers
“A person who never made a mistake never tried anything new.”
As a continuation of the what are proxy servers post, the following article will show and break down how some of the common proxy servers work. We shall focus on forward proxy servers and reverse proxy servers.
Forward Proxy servers
What you are most likely going to encounter sooner in the world of proxy servers is the forward proxy servers because they are among the most common ones. The typical set up involves a private network that sends requests through the forward proxy to external servers in the internet. The forward proxy server inspects the requests and either allows them to pass through, blocks them or serves them via the cached resources within it if is valid. In case the requested data is not within the cache and the request is valid, the proxy server finds the data in the right server through a firewall if configured. The forward proxy finally serves the client and caches it for future use. The caching optimizes the network security and minimizes traffc which makes it quite attractive. A good example of a forward proxy is Squid proxy server.
Reverse Proxy server
The reverse proxy server works in an almost opposite manner to the forward proxy. What it does is that it passes requests from the internet to private network having resources being requested by internet clients. Its major role is to prevent direct access of the sensitive reources within the private network or servers. The flow goes like this: the reverse proxy server will first check the validity of the incoming request. If the request is clean, the reverse proxy with cachiing will check if the request is within its cache. if it exists, then it is served to the client and if it is absent, the reverse proxy requests the content server for the requested file ob behalf of the lient and then serves it. It then caches the data for future client service. As it can be visualized, the clients making the requests have no idea that a proxy is the one serving them and this sigificantly increases security because the actual content cannot be viewed by the internet clients.
With such an architecture in place, a reverse proxy server can be configured to spread multiple client request across two or more content servers. This is what is known as Load Balancing and it increases the efficiency with which requests are being processed hence better performance.
A good example of a reverse proxy is nginx as well as httpd. They can be configured as reverse proxy servers.