مؤشرات الخطأ
اطّلع على السيناريو التالي:
-
في أمان إنترنت وتسريع (ISA) Server 2006 أو حالة حرية التعبير في طليعة عام 2010، يمكنك تمكين تصفية SMTP.
-
يتصل عميل SMTP مع ملقم SMTP من خلال ISA Server 2006 أو طليعة حالة حرية التعبير في عام 2010.
-
يستخدم عميل SMTP أحد الأفعال التالية في المحادثة الخاصة بها مع ملقم SMTP:
-
TLS
-
STARTTLS
-
س-أنونيموستلس
-
في هذا السيناريو، ISA Server 2006 أو حالة حرية التعبير في طليعة عام 2010 بإعادة تعيين الاتصال إلى عميل SMTP عند إغلاق ملقم SMTP به الاتصال بملقم ISA أو حالة حرية التعبير في طليعة عام 2010 بحزمة TCP FIN. يؤدي هذا السلوك عميل SMTP معينة بعض التطبيقات بالإبلاغ عن فشل تسليم الرسالة على الرغم من أن يتم إرسال الرسائل بشكل صحيح. تظهر التعليمات البرمجية التالية نتيجة لهذا الاتصال في تسجيل ISA،:
0x80074e24 FWX_E_CONNECTION_KILLED
السبب
وفقا للتصميم، يتم إعادة تعيين الاتصال بعميل SMTP عند إغلاق ملقم SMTP الخاص به الاتصال بملقم ISA أو طليعة حالة حرية التعبير في عام 2010. وهذا لأن ملقم ISA أو حالة حرية التعبير في طليعة عام 2010 لا بفحص حركة مرور SMTP الأمر SMTP إنهاء عندما يتم تشفير حركة مرور. ومع ذلك، يمكن أن يسبب هذا السلوك تطبيقات عميل SMTP محددة لتسجيل الأخطاء.
الحل
إصلاح عاجل متوفر الآن لتجنب تقارير الأخطاء غير صحيحة. يسمح هذا الإصلاح العاجل السلوك الافتراضي تغيير بحيث ISA Server بإرجاع حزمة TCP FIN لعميل SMTP بدلاً من إعادة تعيين حزمة عندما يقوم خادم SMTP بإغلاق اتصال TCP بحزمة TCP FIN. لتغيير السلوك الافتراضي بعد تثبيت هذا الإصلاح العاجل، يجب عليك تشغيل برنامج نصي على الكمبيوتر ISA Server. لتطبيق هذا الإصلاح العاجل، اتبع هذه الخطوات:
-
ثم تحميل وتثبيت حزمة الإصلاح العاجل المذكور في مقالة "قاعدة معارف Microsoft" التالية:
وصف حزمة الإصلاحات الجديدة ISA Server 2006 959357 : 29 أكتوبر 2008ملاحظة: إذا كنت تستخدم مجموعة طليعة عام 2010، نسخ البرنامج النصي من الخطوة 2 إلى ملف "المفكرة" وحفظه. افتح موجه الأوامر مع مزايا عالية، ثم قم بتشغيل البرنامج النصي (أي: cscript smtp.vbs).
-
تشغيل "المفكرة"، ثم قم بنسخ البرنامج النصي التالي في ملف "المفكرة".
Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"Const SE_VPS_NAME = "GracefulPassthroughServerShutdown"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
-
حفظ الملف كملف برنامج نصي ل Microsoft Visual Basic باستخدام ملحق اسم ملف.vbs.
-
انقر نقراً مزدوجاً فوق الملف. vbs لتشغيل البرنامج النصي.
ملاحظة: إذا كنت تريد العودة إلى السلوك الافتراضي، تغيير السطر التالي من البرنامج النصي:
Const SE_VPS_VALUE = true
تغيير هذا الخط لما يلي:
Const SE_VPS_VALUE = false
ثم أعد تشغيل البرنامج النصي على الكمبيوتر ISA Server أو حالة حرية التعبير في مكان الصدارة.
الحالة
أقرت Microsoft أن هذه المشكلة تحدث في منتجات Microsoft المسردة في المقطع "تنطبق على".
المراجع
لمزيد من المعلومات حول مصطلحات تحديث البرامج، انقر فوق رقم المقالة التالي لعرضها في "قاعدة معارف Microsoft":
824684 وصف للمصطلحات القياسية المستخدمة لوصف تحديثات برامج Microsoft