HTTP Routing
If you're running web servers that have different capabilities, it is quite possible that you may want to host particular content on servers more suited to handling these requests. For instance you may want to store all of your multimedia content on one system that has more dedicated storage space, while for scripted pages, you might host your content on a server with more processing power and memory available. In the end, you want to present all of your data as if it is stored together. This becomes particularly important if you are making use of TLS/SSL to protect connections to your site, as you want the certificate used on your site to cover all content regardless of where it is located.
You may also find situations where you want to run two web servers on the same port (usually port 80), but
need to make use of a single
external IP address via which the web servers will be accessible. In this case, you may look for some kine of reverse-proxy kind of system.
Since Virtual Directory Server is a multi-protocol proxy, it is perfectly suited to catering to HTTP traffic and routing it based on information contained within an HTTP request.
Symlabs Virtual Directory Server includes two HTTP routing plugins designed to handle exactly these scenarios.
The Route on File Extension plugin is used for configurations where you have made use of HTTP/S
backend servergroups and need to route requests to an appropriate
servergroup based on the file extension of the requested resource. This plugin provides a great way for users to manage how media content
is served over HTTP. By dedicating hardware to serving particular content
it is possible to improve the overall performance of a solution, in a way that is
perfectly seamless to client applications.
The
Route on Header plugin is used for configurations where you have made use of
HTTP/S backend servergroups and need to route requests to an
appropriate servergroup based on the Host Header submitted by the client in an HTTP request.
In this case two separate domain names can be mapped to a single IP
address and
the value of the Host header (the domain name) will be used to route
the request to the appropriate server. This effectively acts in a
similar way
to a reverse-proxy with Virtual Hosts in the Apache fashion.