Forum Discussion

Gauthier_FRIDIE's avatar
Gauthier_FRIDIE
Icon for Nimbostratus rankNimbostratus
7 years ago
Solved

Policy action getting overwrote by irule

Hello Everyone, I'm currently using irule to publish application (filtering by URL). At the end of the irule I have a redirect by default.   when HTTP_REQUEST {set path [string tolower [HTTP::...
  • Gauthier_FRIDIE's avatar
    7 years ago

    I found the solution. You can find if a pool is already selected.

    [LB::server pool] will give you the name of the pool selected (or nothing) for example: /Common/example-com-pool

    So the solution in my case to avoid the default case to overwrite what my policy did.

     

    default {
        if { ! ([LB::server pool] starts_with "/Common/") } {
            log local0. "DEBUG – pool not selected"    
            HTTP::respond 301 Location "https://[HTTP::host][HTTP::uri]" 
        }
    }
    

     

    NB: For the random googler coming accros this question you can also catch if a redirect was already performed (by your policy) with this ([catch {HTTP::payload replace 0 0 {}}])