Forum Discussion

AlexDeMarco's avatar
AlexDeMarco
Icon for Nimbostratus rankNimbostratus
Feb 11, 2014

proxying to a different context

I have an Irule in place that does the following. It takes /context and then passes it off to a pool member to process /context.

 

So for example www.myurl.com/security the irule passes /security off to our security pool of application servers that respond to /security.

 

However, what I would like to do now is have /security get proxied off to a security pool but change the context from /security to /newsecurity yet to the client browser they still see /security. Follow?

 

I have been digging around and have a couple ideas but would appreciate any hints or suggestions.

 

thanks

 

1 Reply

  • e.g.

     config
    
    root@ve10(Active)(tmos) list ltm virtual bar
    ltm virtual bar {
        destination 172.28.24.9:http
        ip-protocol tcp
        mask 255.255.255.255
        pool foo
        profiles {
            http { }
            tcp { }
        }
        rules {
            qux
        }
        snat automap
    }
    root@ve10(Active)(tmos) list ltm pool foo
    ltm pool foo {
        members {
            200.200.200.101:http { }
        }
    }
    root@ve10(Active)(tmos) list ltm rule qux
    ltm rule qux {
        when HTTP_REQUEST {
      if { [HTTP::uri] starts_with "/security/" } {
        HTTP::uri [string map {/security/ /newsecurity/} [HTTP::uri]]
      }
    }
    }
    
     trace
    
    [root@ve10:Active] config  ssldump -Aed -nni 0.0 port 80
    New TCP connection 1: 172.28.24.11(40932) <-> 172.28.24.9(80)
    1392122867.4110 (0.0020)  C>S
    ---------------------------------------------------------------
    GET /security/something HTTP/1.1
    User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 OpenSSL/1.0.1e zlib/1.2.3 libidn/0.6.5
    Host: 172.28.24.9
    Accept: */*
    
    ---------------------------------------------------------------
    
    New TCP connection 2: 200.200.200.15(40932) <-> 200.200.200.101(80)
    1392122867.4148 (0.0021)  C>S
    ---------------------------------------------------------------
    GET /newsecurity/something HTTP/1.1
    User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 OpenSSL/1.0.1e zlib/1.2.3 libidn/0.6.5
    Host: 172.28.24.9
    Accept: */*
    
    ---------------------------------------------------------------