Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

You can disable the HTTPOnly flag in WPLB cookies that ISA Server or Windows Essential Business Server 2008 2006 uses


View products that this article applies to.

Introduction

If you publish a Web farm in Microsoft Internet Security and Acceleration (ISA) Server 2006 or in Windows Essential Business Server 2008, ISA Server or Windows Essential Business Server 2008 uses Web Publishing Load Balancing (WPLB) cookies to implement load balancing. By default, the HTTPOnly flag in WPLB cookies is enabled. This behavior may cause some compatibility issues.

You can disable the HTTPOnly flag in WPLB cookies after you apply the hotfix that is described in the KB937186 Microsoft Knowledge Base article.

↑ Back to the top


More information

To disable the HTTPOnly flag in WPLB cookies, follow these steps:
  1. Apply the hotfix that is described in the following Microsoft Knowledge Base article:
    937186 Description of the ISA Server 2006 hotfix package that is dated May 14, 2007
  2. Start Notepad.
  3. Copy the following script into a Notepad file.
    Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"
    Const SE_VPS_NAME = "HTTPOnly"
    Const SE_VPS_VALUE = false
    
    
    'Define the constants needed
    const Error_FileNotFound = &H80070002
    Const fpcPolicyWebPublishing = 2
    
    Main(WScript.Arguments)
    
    Sub Main(args)
    
        If(args.Count = 1) Then
            AllowCompressedContent args(0)
        Else
            Usage()
        End If
    End Sub
    
    Sub AllowCompressedContent(ruleName)
    
        ' Create the root object.
        Dim root  ' The FPCLib.FPC root object
        Set root = CreateObject("FPC.Root")
    
        ' Declare the other objects needed.
        Dim isaArray        ' An FPCArray object
        Dim rule            ' An FPCPolicyRule object
    
        ' Get a reference to the array object.
        Set isaArray = root.GetContainingArray()
    
        ' Get a reference to the policy rule specified.
        On Error Resume Next
        Set rule = isaArray.ArrayPolicy.PolicyRules.Item(ruleName)
        If Err.Number = Error_FileNotFound Then
            WScript.Echo "The policy rule specified could not be found."
        Else
            Err.Clear
            On Error GoTo 0
            If rule.Type = fpcPolicyWebPublishing Then
    
                Dim VendorSets  ' An FPCVendorParametersSets collection
                Dim VendorSet   ' An FPCVendorParametersSet object
    
                Set VendorSets = rule.VendorParametersSets
    
                On Error Resume Next
                Set VendorSet = VendorSets.Item( SE_VPS_GUID )
    
                If Err.Number <> 0 Then
                    Err.Clear
    
                    ' Add the item
                    Set VendorSet = VendorSets.Add( SE_VPS_GUID )
                    CheckError
                    WScript.Echo "New VendorSet added... " & VendorSet.Name
    
                Else
                    WScript.Echo "Existing VendorSet found... value- " &  VendorSet.Value(SE_VPS_NAME)
                End If
    
                if VendorSet.Value(SE_VPS_NAME) <> SE_VPS_VALUE Then
    
                    Err.Clear
                    VendorSet.Value(SE_VPS_NAME) = SE_VPS_VALUE
    
                    If Err.Number <> 0 Then
                            CheckError
                    End If
                End If
    
                rule.Save
                WScript.Echo "Done!"
    
            Else
                WScript.Echo "The policy rule specified is not a Web publishing rule."
            End If
        End If
    
    End Sub
    
    Sub Usage()
        WScript.Echo "Usage:" & VbCrLf _
            & "  " & WScript.ScriptName & " RuleName" & VbCrLf _
            & "" & VbCrLf _
            & "    RuleName - Name of the Web publishing rule"
        WScript.Quit
    End Sub
    
    
    Sub CheckError()
    
        If Err.Number <> 0 Then
            WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description
            Err.Clear
        End If
    
    End Sub
    
  4. Save the file as a Microsoft Visual Basic script file by using the .vbs file name extension. For example, use the following name to save the file:
    WPLBDisableHTTPOnly.vbs
  5. Open a command prompt, move to the location where you saved the WPLBDisableHTTPOnly.vbs file, and then run the following command:
    cscript WPLBDisableHTTPOnly.vbs <Rule name>
    Note The <Rule name> placeholder represents the name of the policy rule for which you want to apply this change. You can run the script multiple times for multiple policy rules.

↑ Back to the top


Keywords: KB937185, kbinfo, kbexpertiseinter, kbhowto, kbarchive, kbnosurvey

↑ Back to the top

Article Info
Article ID : 937185
Revision : 2
Created on : 1/16/2015
Published on : 1/16/2015
Exists online : False
Views : 344