Host headers are used in HTTP so the client can specify what web application instance they are making a request to. The HTTP host header is described in RFC2616 section 14.23 (
Click here). This implementation method wouldn't require any additional configuration within the BIG-IP--you'd just configure a single HTTP virtual server pointing to a pool of the nine web servers on the specific IP:port they listen on.
You would need to configure the web servers to inspect the HTTP host header to determine which virtual host to use to process the requests. In IIS, you can add Host headers under the Web Site Properties | Web Site Identification | Advanced | Multiple identities for this web site. Here is an MS link detailing the configuration (
Click here). For apache, you would configure virtual hosts. Here is an apache article on configuring vhost host headers (
Click here).
Your BIG-IP config would look like this:
virtual generic_http_vs {
destination 1.1.1.1:http
snat automap
ip protocol tcp
profile http tcp
pool http_pool
}
pool http_pool {
member 2.1.1.1:http
member 2.1.1.2:http
member 2.1.1.3:http
member 2.1.1.4:http
member 2.1.1.5:http
member 2.1.1.6:http
member 2.1.1.7:http
member 2.1.1.8:http
member 2.1.1.9:http
}
This configuration assumes that all nine web servers answer on port 80 for all 40 web applications.
Aaron