Forum Discussion

h00ver_290951's avatar
h00ver_290951
Icon for Nimbostratus rankNimbostratus
Sep 19, 2016

HTTP header insert rewrites header variable.

I am trying to insert an HTTP header variable with the following iRule:

when ACCESS_ACL_ALLOWED {
    HTTP::header insert WL-Proxy-Client-Cert {Access::session data get "session.ssl.cert.whole"]
    }

Using a test application to read the header, F5 keeps formatting the variable as "HTTP_WL_Proxy_Client_Cert". Our application won't work with the variable formatted this way, so is there any way to make sure it is formatted exactly as entered in the iRule?

  • Lucas_Thompson_'s avatar
    Lucas_Thompson_
    Historic F5 Account

    Always use HTTP::header replace instead of HTTP::header insert because it prevents the client pc from putting a malicious value in the original request.

     

    Try putting quotes around the header name. TCL usually is good about guessing that stuff but maybe it's not guessing in the desired way here.

     

    • h00ver_290951's avatar
      h00ver_290951
      Icon for Nimbostratus rankNimbostratus

      I changed it to replace and tried with both quotes and no quotes. I still get the same result. Could the receiving server be manipulating the header as well?

       

    • Lucas_Thompson_'s avatar
      Lucas_Thompson_
      Historic F5 Account

      Could you paste your irule exactly as it appears in the GUI?

       

      I just noticed in your example above you've got a curly brace and a square brace in a strange area.