مؤشرات الخطأ
اطّلع على السيناريو التالي:
-
تم تثبيت خدمة دور تسجيل خدمات الشهادة على الويب على خادم Windows Server 2008 R2.
-
لديك كمبيوتر عميل يعمل Internet Explorer 10 أو إصدار أحدث.
-
تحاول الوصول إلى صفحة تسجيل خدمات الشهادات على الويب المستضافة على الخادم المستند إلى Windows Server 2008 R2.
في هذا السيناريو، يتم تلقي الخطأ التالي في Internet Explorer:
لا يدعم مستعرض ويب هذا الجيل من طلبات الشهادات
السبب
يحدد التحقق من إصدار المستعرض إصدار Internet Explorer بشكل غير صحيح على أنه "IE 1".
الحل البديل
الحلول البديله المعتمدة لهذه المشكلة هي كما يلي:
-
تكوين طريقة عرض التوافق في Internet Explorer.
-
نقل وظيفة صفحة تسجيل ويب إلى Windows Server 2012.
-
قم بتعديل ملف Certsbrt.inc باستبدال الأسطر من 44 إلى 70 بالمحتوى التالي. يقع Certsbrt.inc في المجلد التالي:
٪WINDIR٪\system32\certsrv\en-us
'
' If there is no '.' in the UserAgent string, this will return the next character if any
' as the version number. ' We extract the string until a '.' and then convert it
' into integer. If -1 is returned from this function then it isn't MSIE
'
Function GetInternetExplorerVersionNumber(sHttpUserAgent)
Dim nMSIE
GetInternetExplorerVersionNumber = -1 nMSIE = InStr(sHttpUserAgent, "MSIE")
If 0 <> nMSIE Then
numChar = InStr(Mid(sHttpUserAgent, nMSIE + 5), ".") - 1
If -1 = numChar Then ' no '.' in the string
numChar = 1
End If
If nMSIE + 5 + numChar - 1 <= Len(sHttpUserAgent) Then
GetInternetExplorerVersionNumber = CInt(Mid(sHttpUserAgent, nMSIE + 5, numChar))
End If
End If
End Function
'
' We define a Old MSIE based browser
' if it has the string MSIE that is followed by a version number that is less than 4
' NOTE:
' IsOldMSIE = False does not imply MSIE >= 4.
'
' i.e. Not IsOldMSIE("abc") = True
' Not IsOldMSIE("MSIE") = True
'
Function IsOldMSIE(sHttpUserAgent)
Dim nMSIE
Dim sMSIEVersion
IsOldMSIE = False
nMSIE = InStr(sHttpUserAgent, "MSIE")
If nMSIE <> 0 AND (nMSIE+5 < Len(sHttpUserAgent)) Then
nVersion = GetInternetExplorerVersionNumber(sHttpUserAgent)
If -1 <> nVersion Then
IsOldMSIE = nVersion < NEW_MSIE_VERSION
End If
End If
End Function
مزيد من المعلومات
الخطوط من 44 إلى 70 في ملف Certsbrt.inc الذي لم يتم تعديله على Windows Server 2008 R2 على النحو التالي. هذه هي الخطوط التي سيتم استبدالها.
'
' We define a Old MSIE based browser
' if it has the string MSIE that is followed by a version number that is less than 4
' NOTE:
' IsOldMSIE = False does not imply MSIE >= 4.
'
' i.e. Not IsOldMSIE("abc") = True
' Not IsOldMSIE("MSIE") = True
'
Function IsOldMSIE(sHttpUserAgent)
Dim nMSIE
Dim sMSIEVersion
nMSIE = InStr(sHttpUserAgent, "MSIE")
If nMSIE=0 Then
IsOldMSIE = False
ElseIf nMSIE+5 < Len(sHttpUserAgent) Then
sMSIEVersion = Mid(sHttpUserAgent, nMSIE+5, 1)
IsOldMSIE = CInt(sMSIEVersion) < NEW_MSIE_VERSION
Else
IsOldMSIE = False
End If
End Function