Proxy server is an intermediary server or application that intercepts the requests for resource from client (browser) and forward them to appropriate server (File server or Web server) with aim to provide enhanced security and lessen network traffic. Depending upon the configuration and requirement they are mainly classified as:
- Forward Proxy: is the most common form of proxy server (often simply known as a “proxy”). A forward proxy provides proxy services to a client or a group of clients often belonging to same internal network. Depending upon the settings, a request can be allowed or denied. From the point of view of the real web/file server, it is the proxy server that issued the request, not the client. So when the server responds, it addresses its response to the proxy which in turn sends that response to the respective client that made the request. Requests may also be fulfilled by serving from cache (at Proxy server) rather than passing through the Internet. This allows a level of network security and lessens network traffic.
Other common reasons for for installing Forward proxy server:
- Restricting clients inside a network to access a particular website directly.
- Because proxy servers can keep track of requests, responses, their sources and their destinations, different clients can send out various requests to different servers through the forward proxy and the proxy will intermediate for all of them. So, the proxy can serve as a single point of access and control, making it easier to enforce security policies.
- Reverse Proxy:does exactly opposite to forward proxy and acts on behalf of service/content producer. Internet clients do not know their requests are being sent to and handled by a reverse proxy server. A reverse proxy accepts requests from external clients on behalf of servers, validates them and then forward to appropriate Server for handling. This provides a level of security that prevents the Internet clients from having direct access to data on the corporate servers. Reverse proxies are very important, and they are commonly used to secure and load balance Web servers and also act as a content filter. Again, caching can be done at reverse proxy in order to lessen network traffic and load on servers. Clients are not aware of configuration of origin servers which in itself a level of security.
Other reasons reasons for for installing Reverse proxy server:
- Encryption / SSL acceleration: is often not done by the web server itself, but by a reverse proxy that is equipped with SSL acceleration hardware.
- Load balancing: the reverse proxy can distribute the load to several web servers.
- Serve cached static content.
- Compression: optimize and compress the content to speed up the load time.
- Security: the proxy server is an additional layer of defence and can protect against some OS and Web Server specific attacks.