Forum Discussion
Ian_Upton_39258
Nimbostratus
Aug 27, 2008Modifying HTTP Version
We have just implemented a F5 based solution and have encountered a problem where SSL based transactions via a proxy just hung. Tracked down to IE 6 (HTTPM settings) HTTP version 1.0, something odd in...
hoolio
Cirrostratus
Aug 27, 2008Hi Ian,  
The HTTP 1.0 RFC didn't detail the use of cookies, but there wasn't anything within the spec that prohibited them from being used. In terms of the 1.0 version of the protocol, cookies are just a header in requests and responses. Are you saying that when you test the example iRule I posted, which changes the version from 1.1 to 1.0, that the Cookie header (or others?) is removed by LTM? I wouldn't expect this to happen.
Or are you saying that somewhere between LTM and the end server, the cookie header is removed? If it's the former, can you test with this rule and reply with the log output from /var/log/ltm?
  
  when HTTP_REQUEST {   
    
      Log request headers  
     foreach a_header [HTTP::header names] {  
        log local0. "Pre:  $a_header: [HTTP::header value $a_header]"  
     }  
    
      Reset the variable tracking whether to update the HTTP version to 1.0   
     set update_version 0   
     
      If client request is 1.0, update the LTM to server version to 1.1    
        and track that we need reset the clientside response to 1.0   
     if { [HTTP::version] eq "1.0" }{   
        set update_version 1   
        HTTP::version 1.1   
     }  
      Log request headers  
     foreach a_header [HTTP::header names] {  
        log local0. "Post: $a_header: [HTTP::header value $a_header]"  
     }  
  }   
  when HTTP_RESPONSE {   
    
      Log response headers  
     foreach a_header [HTTP::header names] {  
        log local0. "Pre:  $a_header: [HTTP::header value $a_header]"  
     }  
    
      Check if the request was 1.0 and reset the response to 1.0   
     if { $update_version }{   
        HTTP::version 1.0   
     }   
      Log response headers  
     foreach a_header [HTTP::header names] {  
        log local0. "Post: $a_header: [HTTP::header value $a_header]"  
     }  
  }  
    
Thanks,
Aaron
Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects