Forum Discussion

Manhtuyen2's avatar
Manhtuyen2
Icon for Nimbostratus rankNimbostratus
Sep 18, 2020

Bad Request when access through BIG IP

Hi All,

 

We have an internal website published via BIG IP. The scenarios we have as below:

 

  • Access direct to the website "https://internalweb.com/index.html?keysearch=test%20search" => OK
  • Access to the website through BIG IP "https://f5web.com/index.html?keysearch=test%20search" => Bad Request - HTTP Error 400. The request is badly formed.

 

I've check the request F5 sent to the backend server in the error case, seems like F5 decoded the URI and sent the request "https://f5web.com/index.html?keysearch=test search" to backend server.

 

Does anyone have advice which settings i can modify to fix this issue?

1 Reply

  • Hi all,

    I already figured out the problem. It's because the decode irule we use in the url filtering irule & it return the decode request to backend server by "HTTP::uri $uri"

    when HTTP_REQUEST {
      # decode original URI.
      set tmpUri [HTTP::uri]
      set uri [URI::decode $tmpUri]
     
      # repeat decoding until the decoded version equals the previous value.
      while { $uri ne $tmpUri } {
        set tmpUri $uri
        set uri [URI::decode $tmpUri]
      }
      HTTP::uri $uri
     
      log local0. "Original URI: [HTTP::uri]"
      log local0. "Fully decoded URI: $uri"
    }