مؤشرات الخطأ
اطّلع على السيناريو التالي:
-
يمكنك الوصول إلى أحد مواقع ويب التي يتم نشرها في أمان إنترنت وملقم تسريع (ISA) 2004. أو، يمكنك الوصول إلى موقع ويب باستخدام ISA Server 2004 كوكيل ويب.
-
يتم تمكين عامل تصفية "ويب تصفية الضغط" في ISA Server 2004.
-
موقع ويب يرسل استجابة HTTP/0.9 إلى العميل.
في هذا السيناريو، تتلقى إحدى رسائل الخطأ التالية. رسالة الخطأ 1
خطأ وكيل HTTP/1.1 502 (اسم شبكة الاتصال المحدد لم يعد متوفراً.)
رسالة الخطأ ٢
رمز الخطأ 64: استضافة غير أفايلابليباكجروند: ملقم وكيل أو عبارة قد فقدت الاتصال بخادم ويب.
السبب
استجابة HTTP/0.9 يحتوي على نص، ولكن أي رؤوس. إغلاق موقع ويب اتصال للإشارة إلى نهاية الاستجابة. ومع ذلك، يتوقع عامل تصفية "ويب تصفية الضغط" في ISA Server HTTP/1.0 أو استجابة HTTP/1.1. لم يتعرف عامل تصفية "ويب تصفية الضغط" استجابة HTTP/0.9. وبالتالي، يفترض عامل تصفية "ويب تصفية الضغط" فقدان الاتصال أو إعادة تعيين قبل إرسال موقع ويب كافة رؤوس استجابة HTTP.
الحل
لحل هذه المشكلة، اتبع الخطوات التالية.
-
تطبيق حزمة الإصلاح العاجل الموضح في مقالة "قاعدة معارف Microsoft" التالية:
وصف حزمة الإصلاحات الجديدة ISA Server 2004 945043 : 12 تشرين الثاني/نوفمبر 2007
-
تشغيل "المفكرة".
-
نسخ التعليمات البرمجية التالية ولصقها في برنامج "المفكرة".
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
-
حفظ الملف كملف برنامج نصي ل Microsoft Visual Basic باستخدام ملحق اسم ملف.vbs. على سبيل المثال، استخدام الاسم التالي لحفظ الملف:
EnableHotfix944114.vbs
-
في موجه الأوامر، تغيير إلى الموقع الذي تم حفظ الملف في الخطوة 4، ثم قم بتشغيل الأمر التالي:
cscript EnableHotfix944114.vbs
ملاحظة: للعودة إلى الإعداد الافتراضي، قم بتحرير البرنامج النصي عن طريق تغيير "Const SE_VPS_VALUE = true" إلى "Const SE_VPS_VALUE = false." حفظ البرنامج النصي ومن ثم أعد تشغيله مرة أخرى.
الحل البديل
للتغلب على هذه المشكلة، قم بتعطيل عامل تصفية "ويب تصفية الضغط" في ISA Server.
الحالة
أقرت Microsoft أن هذه المشكلة تحدث في منتجات Microsoft المسردة في المقطع "تنطبق على".