Forum Discussion
Scott_Delk_4899
Nimbostratus
Jul 06, 2006Get Pool Members
Currently I am using
Pool.CommonIPPortDefinition[][] members = Pool.get_member(pool_list);
to return a list of all pool members so I can duplicate the list that I see when logged i...
Oct 22, 2007
I still think some things aren't clear. If your external VIP is 20.20.20.20 and a client requests http://20.20.20.20:4343/foo, the following will be sent back to the backend server
GET /foo HTTP/1.1
Host: 20.20.20.20:4343
...I've never heard of a scenario where a user is trying to virtualize websites behind a virtual server yet maintain the separate host names for each independent server. The most common scenario is to have a DNS entry for the service (in your case www.foo.com resolves to 20.20.20.20). Then the configuration for each web server is setup to accept "www.foo.com" as it's host header (10.10.10.1, 10.10.10.2, ...). This way no configuration is needed (outside of the additional host header setting) and each server can be configured identically easing deployment for additional servers down the road. If you don't want to DNS'ify your VIP, you can still configure the backend servers to accept the Host header of the VIP (20.20.20.20) despite the fact that they are not listening on that address).
If you truly do need to virtualize multiple webservers while not configuring the servers in a virtualized manner, you can do some fun and games with tweaking the host headers. You'll have to build a mapping layer in an iRule with a list of hostnames for each of your servers along with their ip addresses. Then, you could determine which pool member address was selected and then modify the host header.
Keep in mind that most web applications will build embedded links in the pages with links to the supplied hostname. In your case, you will have links for "http://LT-KM23456.us.f5.com:4343/..." is certain client connections and "http://LT-KM2367.us.f5.com:4343/..." in others. Then the client will click on those links and they won't work unless you have them mapped to the VIP address as well. If you are using a DNS name or just the VIP address, the applications will return URLs in the form of "http://www.foo.com:4343/..." or "http://20.20.20.20:4343/..." that will correctly link back to the VIP.
If you really do need to virtualize non-virtualized applications, let me know and I'll get you an iRule that will do it. But beware of the side effects with embedded links as mentioned above.
-Joe
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects