Generally whenever we want to publish a web based system to the public is it usually configured in such a way that the server that Web Server is installed on is visible to the public internet. All requests from a browser or web service client are routed directly to web server. All the functionality needed to produce the web site is embodied in a single server. This includes caching, SSL termination, authentication, serving static files and compression. This approach is simple and straightforward for small sites, but is very un-secure , hard to scale, both in terms of performance, and in terms of managing the complexity of a large complex application.
The XS reverse proxy is server component that sits between the internet and your internal production / web servers. It accepts HTTP requests, provides various services, and forwards the requests to one or many servers.
Its help you to inspect, transform and route HTTP requests before they reach your web servers provides a whole host of benefits.
XS reverse proxy has various features . It is requirement of every organization who required to provide secure access to outside. Apart form security it has the following supported Features.
The reverse proxy hide the complete server, its topology and characteristics of back-end servers by removing the need for direct internet access to them. The ouside users will not have direct access to your production servers . They will retrieve only those information which you want to provide them.
This is another function that people are most familiar with. Here the proxy routes incoming HTTP requests to a identical web servers. It’s such a common function that load balancing reverse proxies are usually just referred to as ‘load balancers’. There are specialized load balancing products available, but many general purpose reverse proxies also provide load balancing functionality.
This another very important feature which help to encrypt incoming request and make Reverse proxy more secure and power full. The reverse proxy handles incoming HTTPS connections, decrypting the requests and passing unencrypted requests on to the web servers. This has several benefits:
>> Provide Encryption and Decrpytion Features for more security.
>> Provides a single point of configuration and management for SSL/TLS
>> Takes the processing load of encrypting/decrypting HTTPS traffic away from web servers.
>> Makes testing and intercepting HTTP requests to individual web servers easier.
XS Reverse proxy servers can also act as web servers serving static content. Some time the web page can often consist of different type of static content such as Java Scripts, CSS files and others files. The XS Reverse Proxy can serve these separately so that you can take considerable load from back end web servers and the production servers will be free to provide dynamic content.
The reverse proxy also act as a cache which help to considerably reduce the load on the back-end servers.
The rever proxy can decompress incoming requests to reduce the bandwidth needed for individual requests. In this way we reduces the load on the back-end servers by avoiding the compression, and makes debugging requests to back-end servers easier.
Logging is very important aspects for every one. We cant see whats happening all time . This logs every request routed through the reverse proxy, it makes an excellent point for logging and auditing.
Somtime URL rewriting is required as the URL scheme that a legacy application presents is not ideal for discovery or search engine optimisation. A reverse proxy can rewrite URLs before passing them on to your back-end servers.
Finally the XS reverse proxy can off load much of the infrastructure concerns of a secure distributed web application with consistence connectivity.