Forum Discussion

Sherif_El_Kinaw's avatar
Sherif_El_Kinaw
Icon for Nimbostratus rankNimbostratus
Mar 22, 2006

WebDAV connection

Hi Guys,

 

 

I am new to F5 products and have been trying to setup big-IP LTM to do SSL Termination to a server running IIS6 WebDAV to create shared folders. I am attempting to use an iRule I found in the Sharepoint deployment guide to fix the replace the HTTP response coming back from the server to the client. Previously I attempted to create an HTTP Virtual Server which redirects to the HTTPS Virtual Server but that didn't since authentication was required everytime a switch between the 2 services happened. I attempted to contact F5 support and they suggested i upgrade to 9.2.3 yet am still not getting any results. Could someone point me in the right direction?

 

 

5 Replies

  • Colin_Walker_12's avatar
    Colin_Walker_12
    Historic F5 Account
    Well, if all you're trying to do is rewrite the HTTP links in the content to be HTTPS, that should be fairly straight-forward.

     

     

    Why don't you let us take a look at what you have so far?

     

     

    -Colin
  • sorry for the delay, the i-rule i'm using is out of the Sharepoint deployment guide.here it is:

     

     

     

    when HTTP_RESPONSE {

     

    if { [HTTP::header Content-Length] > 0 } {

     

    set clen [HTTP::header "Content-Length"]

     

    } else {

     

    set clen 4294967295

     

    }

     

    HTTP::collect $clen

     

    }

     

    when HTTP_RESPONSE_DATA {

     

    set find "http://"

     

    set replace "https://"

     

    set payload [HTTP::payload]

     

    if {[regsub -all $find $payload $replace new_response] > 0} {

     

    HTTP::payload replace 0 [HTTP::payload length] $new_response

     

    HTTP::header replace "Content-Length" [string bytelength $new_response]

     

    }

     

    }
  • Colin_Walker_12's avatar
    Colin_Walker_12
    Historic F5 Account
    Well, at the risk of being obvious, the first thing I'd point out is that you need to make sure to replace with the actual URL that you want to change from http to https.

     

     

    That being said, and assuming you're already doing that..I'd be curious to see if anything's getting modified at all. Have you compared some responses with and without this rule running? Are you matching the string set for find in the server response?

     

     

    -Colin
  • I have replaced the with the correct URL. The script worked fine with 9.1.0 version and was doing what it should, however, I was getting other errors and the support suggested I upgrade to 9.2.3 on the basis that the newer version provides support for the webDAV and Sharepoint headers. Now all I get is a timeout when I use the i-Rule and the tcpdump I ran gets me a syn/ack sequence followed by a fin/ack one with nothing in between!

     

     

    I have attempted other configurations to avoid using the i-Rule but am unable to get a working one. As I have zero talent for writing code (the best I can do is simple variations of existing ones) I was wondering if anyone has actually used a similar config or knows of a solution to using F5 and a webDAV server for file sharing.

     

     

    If you would like to do any further investigations let me know and I would be happy to comply but please remember to keep it simple since this is my first installation!

     

     

    Thanks . . .
  • Colin_Walker_12's avatar
    Colin_Walker_12
    Historic F5 Account
    Well, the solutions guide code you're using looks like it has an extra line in it. You should be able to safely remove this line:

     

     

    HTTP::header replace "Content-Length" [string bytelength $new_response]

     

     

    The rest of the code looks correct, though.

     

     

    You may also want to look at the stream profile on your BIG-IP. It's designed to do just this kind of replacement, and may be easier than using an iRule in some cases.

     

     

    -Colin