Forum Discussion

7 Replies

  • Josiah_39459's avatar
    Josiah_39459
    Historic F5 Account
    when HTTP_REQUEST {
      if {[string tolower [HTTP::uri]] starts_with /login.htmld and [HTTP::query [HTTP::uri] rtport] >= 4500 and [HTTP::query [HTTP::uri] rtport] <= 4599 } {
        HTTP::redirect "https://website.com:[HTTP::query [HTTP::uri] rtport]/login.htmld"
      }
    }
    

    Should do the trick

  • Not sure if the rtport is placed in correct location on redirect. I am new to Irules however...

     

  • Not sure if the rtport is placed in correct location on redirect.

    e.g.

    [root@ve11a:Active:In Sync] config  tmsh list ltm rule qux
    ltm rule qux {
        when HTTP_REQUEST {
      if { [string tolower [HTTP::uri]] starts_with "/login.htmld" and [URI::query [HTTP::uri] rtport] >= 4500 and [URI::query [HTTP::uri] rtport] <= 4599 } {
        HTTP::redirect "https://website.com:[URI::query [HTTP::uri] rtport]/login.htmld"
      }
    }
    }
    
    [root@ve11a:Active:In Sync] config  curl -I http://172.28.24.10/login.htmld?rtport=4555
    HTTP/1.0 302 Found
    Location: https://website.com:4555/login.htmld
    Server: BigIP
    Connection: Keep-Alive
    Content-Length: 0
    
    
    • Ciscomadman_204's avatar
      Ciscomadman_204
      Icon for Nimbostratus rankNimbostratus
      I appreciate this! I love the troubleshooting method you used. I have another question.. If the url changes will the HTTP::uri pickup if it were something new like /test1/login.htmld?
  • Not sure if the rtport is placed in correct location on redirect.

    e.g.

    [root@ve11a:Active:In Sync] config  tmsh list ltm rule qux
    ltm rule qux {
        when HTTP_REQUEST {
      if { [string tolower [HTTP::uri]] starts_with "/login.htmld" and [URI::query [HTTP::uri] rtport] >= 4500 and [URI::query [HTTP::uri] rtport] <= 4599 } {
        HTTP::redirect "https://website.com:[URI::query [HTTP::uri] rtport]/login.htmld"
      }
    }
    }
    
    [root@ve11a:Active:In Sync] config  curl -I http://172.28.24.10/login.htmld?rtport=4555
    HTTP/1.0 302 Found
    Location: https://website.com:4555/login.htmld
    Server: BigIP
    Connection: Keep-Alive
    Content-Length: 0
    
    
    • Ciscomadman_204's avatar
      Ciscomadman_204
      Icon for Nimbostratus rankNimbostratus
      I appreciate this! I love the troubleshooting method you used. I have another question.. If the url changes will the HTTP::uri pickup if it were something new like /test1/login.htmld?