Forum Discussion

Ranvir_Floura_7's avatar
Ranvir_Floura_7
Icon for Nimbostratus rankNimbostratus
Jul 25, 2005

Pool Definition

is there a way to define a pool and have the members of the pool keep the uri information in V4.5.9?

 

 

Virtual URL = http://a.my.com/dev

 

pool members = http://b.my.com:9999/dev

 

http://c.my.com:9998/dev
  • Martin_Machacek's avatar
    Martin_Machacek
    Historic F5 Account
    Ranvir,

    I'm not exactly sure what are you looking for but maybe the very basic

    layer 4 loadbalancing can do trick for your. If you configure your BIG-IP like this:

    
    pool dev_servers {
       member b.my.com:9999
       member c.my.com:9998
    }
    virtual a.my.com:80 {
       use pool dev_servers
    }

    any URI starting with http://a.my.com/ will be loadbalanced to one of the two servers. BIG-IP performs destination address and port translation as a side-effect of loadbalancing (unless you turn it off in configuration), so for example URI http://a.my.com/dev will be effectively translated to http://b.my.com:9999/dev.

    If you want to loadbalance only some URIs you can use iRules to do the filtering. For example if only URIs starting with http://a.my.com/dev/ should be loadbalanced to servers b.my.com and c.my.com and all other URIs should be served by server www.my.com, you can use following configuration:

    
    pool dev_servers {
       member b.my.com:9999
       member c.my.com:9998
    }
    pool default {
       member www.my.com:80
    }
    rule dev_filter {
       if(http_uri starts_with "/dev/") {
          use pool dev_servers
       } else {
          use pool default
       }
    }
    virtual a.my.com:80 {
       use rule dev_filter
    }

    So, to (finally) answer your question: there is no way how to associate pool members with URIs at the pool level, but you can achieve the same using iRules.