Forum Discussion

Muhammad_Irfan1's avatar
Oct 21, 2014
Solved

Proxypass in F5

Hey all the experts of F5, i am network guy please help me out and make an iRule for me and please don't direct me to some Apache proxy pass iRule link as its hard for me to change.

 

Actually i want to transfer the simple proxypass and reverse proxypass config from Apache to F5 LTM v.11.4.1.

 

In Apache it was pretty straightforward like

 

 

BalancerMember http://10.50.173.52:9801

 

BalancerMember http://10.50.173.53:9801

 

 

ProxyPass /test balancer://test

 

What i want is that client dials http://10.50.166.1:80/test/

 

and request is load balanced in pool name client_servers

 

http://10.50.173.52:9801

 

http://10.50.173.52:9801

 

Like the URI /test/ is just used to selet pool and not the part of the actual service url.

 

How ever i can achieve this please guide me.. iRule, policy, etc

 

  • when HTTP_REQUEST {
        if {[HTTP::uri] starts_with "/test/"} {
            pool client_servers
        }
        else {
            pool default_pool
        }
    }
    

    EDIT: I fixed the syntax error and added another : to HTTP::uri.

3 Replies

  • R_Eastman_13667's avatar
    R_Eastman_13667
    Historic F5 Account
    when HTTP_REQUEST {
        if {[HTTP::uri] starts_with "/test/"} {
            pool client_servers
        }
        else {
            pool default_pool
        }
    }
    

    EDIT: I fixed the syntax error and added another : to HTTP::uri.

    • Muhammad_Irfan1's avatar
      Muhammad_Irfan1
      Icon for Cirrus rankCirrus
      Sir the iRule you post is not accepted by LTM, Can you please complete the iRule, the error generated is 01070151:3: Rule [/Common/proxypass1] error: /Common/proxypass1:2: error: [undefined procedure: HTTP:uri][HTTP:uri] and please modify it with multiple "if" statements. I have many conditions like if starts with /test/ then pool this and if starts with /test1/ then pool this...