Triệu chứng
Hãy xem xét tình huống sau:
-
Bạn truy cập một trang Web được xuất bản trong Microsoft Internet Security and Acceleration (ISA) Server 2004. Hoặc, bạn truy cập một trang Web bằng cách sử dụng ISA Server 2004 Web proxy.
-
Bộ lọc nén lọc Web được kích hoạt trong ISA Server 2004.
-
Trang Web gửi phản hồi HTTP/0,9 cho khách hàng.
Trong trường hợp này, bạn nhận được một thông báo lỗi sau. Thông báo lỗi 1
Lỗi HTTP/1.1 502 Proxy (tên ma không còn có sẵn.)
Thông báo lỗi 2
Mã lỗi 64: Lưu trữ không availableBackground: máy chủ cổng hoặc proxy mất kết nối với máy chủ Web.
Nguyên nhân
Phản hồi HTTP/0.9 có chỉ có một đoạn, nhưng không có tiêu đề. Các trang Web đóng kết nối cho biết cuối phản hồi. Tuy nhiên, bộ lọc nén bộ lọc Web của ISA Server mong đợi một HTTP/1.0 hoặc phản hồi HTTP/1.1. Bộ lọc nén lọc Web công nhận phản hồi HTTP/0.9. Do đó, lọc nén lọc Web giả định rằng kết nối bị mất hoặc đặt lại trước khi trang Web có thể gửi tất cả các tiêu đề phản hồi HTTP.
Giải pháp
Để giải quyết sự cố này, hãy làm theo các bước sau:
-
Áp dụng gói hotfix được mô tả trong bài viết sau trong cơ sở kiến thức Microsoft:
945043 mô tả gói hotfix ISA Server 2004: ngày 12 tháng 12 năm 2007
-
Khởi động Notepad.
-
Sao chép mã sau, và sau đó dán nó vào Notepad.
Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"Const SE_VPS_NAME = "EnableHotfix944114"Const SE_VPS_VALUE = trueSub SetValue() ' Create the root object. Dim root ' The FPCLib.FPC root object Set root = CreateObject("FPC.Root") 'Declare the other required objects. Dim array ' An FPCArray object Dim VendorSets ' An FPCVendorParametersSets collection Dim VendorSet ' An FPCVendorParametersSet object ' Get references to the array object ' and to 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
-
Lưu tệp dưới dạng tệp tập lệnh Microsoft Visual Basic bằng cách sử dụng phần mở rộng tên tệp .vbs. Ví dụ: sử dụng tên sau đây để lưu tệp:
EnableHotfix944114.vbs
-
Tại dấu nhắc lệnh, thay đổi vị trí mà bạn lưu tệp ở bước 4, và sau đó chạy các lệnh sau:
cscript EnableHotfix944114.vbs
Lưu ý Để quay trở lại mặc định, chỉnh sửa đoạn bằng cách thay đổi "Const SE_VPS_VALUE = true" để "Const SE_VPS_VALUE = false." Lưu tập lệnh và sau đó chạy lại.
Cách giải quyết
Để khắc phục sự cố này, vô hiệu hoá bộ lọc nén bộ lọc Web của ISA Server.
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".