Proxy servers are the intermediate servers that are placed between the user and the websites to achieve anonymity. When you try to access a website through a proxy server, your request goes to the proxy server which then forwards it to the website. For the website, the request seems to originate from the proxy server and you are completely hidden from it. This is called forward proxy.
On the other hand, the server sometimes needs to achieve anonymity to enhance their security. In this case, the server installs the proxy server that appears to be the destination for the user. This restores the anonymity of the user. Such a process is called reverse proxy.
Here are some of the most common open source proxy servers available in the market.
SQUID
Squid is a fully-featured HTTP/1.0 proxy on the verge of becoming a fully-featured HTTP/1.1 proxy. Squid offers a rich access control, authorization and logging environment to develop web proxy and content serving applications.
If you are looking for a caching proxy for web-based protocols like HTTP, HTTPS and FTP among others, Squid is the right choice for you.
If the user visits a site frequently, Squid caches the web pages and reuses it which improves performance and reduces the bandwidth. Because of extensive access controls, Squid makes a great server accelerator.
Due to high performance and rich access controls, Squid is used by a large number of Internet Providers all over the world. By building cache server models which contain a number of route alternatives that optimize network throughput.
Please visit the below link to view all the Squid features.
http://www.squid-cache.org/
Varnish HTTP Cache
Another good option for proxy server solution is the Varnish HTTP Cache. The latest version Varnish Cache 4.1.7 has been released and available for download. The bugs from the previous version have been fixed with some enhancements. It works well on Ubuntu, Debian, Red Hat, CentOS as well as FreeBSD.
https://www.varnish-cache.org/
Reborn
A proxy based high-performance Redis cluster solution written in Go/C, Reborn is an alternative to Redis. It supports multiple stateless proxies with redis instances. Reborn can be scaled very conveniently. Adding or removing redis or proxy instances on-demand is another distinguishing feature of Reborn.
https://github.com/reborndb/reborn
Twemproxy
A fast and lightweight proxy for memcached and redis protocol, Twemproxy is also known as nutcracker. It was primarily built to reduce the number of connections to the caching servers on the backend. The main feature of Twemproxy is protocol pipelining and sharding which helps you in horizontal scaling of your distributed caching architecture.
https://github.com/twitter/twemproxy