ISA Server 2004, ISA Server 2006 hoặc Windows Essential Business Server 2008 chặn yêu cầu bao gồm phần đầu HTTP chấp nhận mã hóa khi sử dụng proxy chuyển tiếp


Triệu chứng


Trên máy chủ đang chạy Microsoft Internet Security và Acceleration (ISA) Server 2004 gói dịch vụ 2 hoặc Windows Essential Business Server 2008, bạn vô hiệu hoá bộ lọc Web hai sau:
  • Bộ lọc nén
  • Bộ nhớ đệm nén bộ lọc nội dung
Sau khi bạn thực hiện việc này, ISA Server 2004 hoặc Windows Essential Business Server 2008 chặn yêu cầu bao gồm phần đầu HTTP chấp nhận mã hóa khi sử dụng proxy chuyển tiếp. Các bộ lọc Web được đưa ra trong ISA Server 2004 gói dịch vụ 2 hoặc Windows Essential Business Server 2008. Bạn có thể vô hiệu hoá các bộ lọc Web do vấn đề tương thích chương trình liên quan đến một số máy chủ Web.

Giải pháp


Thông tin gói dịch vụ

Để giải quyết vấn đề này, cài đặt ISA Server 2004 gói dịch vụ 3 (SP3), và sau đó chạy tập lệnh Microsoft Visual Basic được đề cập trong phần này. Để biết thêm thông tin về cách lấy gói dịch vụ mới nhất của ISA Server 2004, bấm vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
891024 cách lấy gói dịch vụ mới nhất của ISA Server 2004
Sau khi bạn cài đặt gói dịch vụ, chạy lệnh sau để kích hoạt cấu hình tham số mới. Tham số mới này cho phép gửi yêu cầu bao gồm phần đầu HTTP chấp nhận mã hoá nếu bộ lọc nén bị vô hiệu hoá trong tình huống chuyển tiếp proxy ISA Server. Để thực hiện việc này, hãy làm theo các bước sau. Microsoft cung cấp mô hình lập trình để minh hoạ, không bảo hành hoặc rõ ràng hay ngụ ý. Điều này bao gồm, nhưng không giới hạn ở các bảo đảm cho một mục đích cụ thể hoặc sự. Bài viết này giả định rằng bạn đã quen với ngôn ngữ lập trình đang được giải thích và các công cụ được sử dụng để tạo và quy trình gỡ lỗi. Các kỹ sư hỗ trợ Microsoft có thể giúp giải thích các chức năng của một quy trình cụ thể. Tuy nhiên, họ sẽ không sửa đổi các ví dụ để cung cấp thêm chức năng hoặc xây dựng quy trình nhằm đáp ứng các yêu cầu cụ thể của bạn.
  1. Bấm bắt đầu, điểm đến Tất cả chương trình, điểm phụ kiện, và bấm Notepad.
  2. Dán mã sau vào tài liệu Notepad.
    Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"Const SE_VPS_NAME = "AccessRuleSendAcceptEncodingHeader"Const SE_VPS_VALUE = trueSub SetValue()    ' Create the root obect.    Dim root  ' The FPCLib.FPC root object    Set root = CreateObject("FPC.Root")    'Declare the other objects needed.    Dim array       ' An FPCArray object    Dim VendorSets  ' An FPCVendorParametersSets collection    Dim VendorSet   ' An FPCVendorParametersSet object    ' Get references to the array object    ' and the network rules collection.    Set array = root.GetContainingArray    Set VendorSets = array.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        Else            VendorSets.Save false, true            CheckError            If Err.Number = 0 Then                WScript.Echo "Done with " & SE_VPS_NAME & ", saved!"            End If        End If    Else        WScript.Echo "Done with " & SE_VPS_NAME & ", no change!"    End IfEnd SubSub CheckError()    If Err.Number <> 0 Then        WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description        Err.Clear    End IfEnd SubSetValue
  3. Lưu tệp Notepad "AccessRuleSendAcceptEncodingHeader.vbs."
  4. Bấm đúp vào tệp .vbs để chạy tập lệnh.
Để vô hiệu hoá các tham số cấu hình mới, hãy làm theo các bước sau:
  1. Bấm bắt đầu, điểm đến Tất cả chương trình, điểm phụ kiện, và bấm Notepad.
  2. Dán mã sau vào tài liệu Notepad.
    Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}" Const SE_VPS_NAME = "AccessRuleSendAcceptEncodingHeader" Const SE_VPS_VALUE = false Sub SetValue()      ' Create the root obect.      Dim root ' The FPCLib.FPC root object      Set root = CreateObject("FPC.Root")      'Declare the other objects needed.      Dim array ' An FPCArray object      Dim VendorSets ' An FPCVendorParametersSets collection      Dim VendorSet   ' An FPCVendorParametersSet object           ' Get references to the array object      Set array = root.GetContainingArray      Set VendorSets = array.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           Else                 VendorSets.Save false, true                 CheckError                 If Err.Number = 0 Then                      WScript.Echo "Done with " & SE_VPS_NAME & ", saved!"                 End If           End If      Else           WScript.Echo "Done with " & SE_VPS_NAME & ", no change!"      End If 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 SetValue
  3. Lưu tệp Notepad "Disable_AccessRuleSendAcceptEncodingHeader.vbs."
  4. Bấm đúp vào tệp .vbs để chạy tập lệnh.

Trạng thái


Microsoft đã xác nhận đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".