For more information regarding the security incident at F5, the actions we are taking to address it, and our ongoing efforts to protect our customers, click here.

Forum Discussion

Arun_Bhardwaj_1's avatar
Jul 28, 2014

how to do http url monitoring for three servers having more than one website?

Dear All,

 

Let me explain current situation - VS 1) Virtual server_HTTP- x.x.x.x:80 2) Virtual server_HTTPS- x.x.x.x:443 POOL 1)HTTP_Pool having three nodes node1:80 , node2:80 , node3:80 2)HTTPS_Pool having three nodes node1:443 , node2:443 , node3:443 earlier we are using health monitor of HTTP in HTTP_POOL and HTTPS in HTTPS_POOL.

 

BUT now we are hosting multiple sites of http with different URL in each server i.e. NODE1, NODE2 NODE3. so my question is- if a particular http site in Node1 goes down, then my VS should detect it and send that site traffic to another member in pool and rest site traffic should remain working from same node.

 

Please help, whether i need to create i Irule for same, because normal URL monitoring is not helping at all.

 

2 Replies

  • If I understand you correctly, you're hosting multiple applications on the same server nodes under different URLs. If that's correct, probably one of the easiest things to do would be to create separate pools for each application (with the same pool members) and apply the most appropriate health monitor to each. Example:

    pool1
        10.10.10.1
        10.10.10.2
        10.10.10.3
            monitor: HTTP GET /app1
    
    pool2
        10.10.10.1
        10.10.10.2
        10.10.10.3
            monitor: HTTP GET /app2
    

    This has the added benefit of letting you scale the individual applications separately. Then you'd just use an iRule, HTTP class (< 11.4), or policy (>=11.4) to switch between the pools based on URL:

    when HTTP_REQUEST {
        switch [string tolower [HTTP::host]] {
            "app1.domain.com" { pool pool1 }
            "app2.domain.com" { pool pool2 }
        }
    } 
    
  • The iRules would be EXACTLY the same. The S in HTTPS tells the browser that this is an SSL-layered HTTP session. After the SSL handshake between the two endpoints is complete, the communication is just HTTP. In other words, there aren't HTTPS events and command in iRules. The same HTTP events and commands can be used for both HTTP and HTTPS VIPs.