อาการ
พิจารณาสถานการณ์ต่อไปนี้:
-
บริการบทบาทการลงทะเบียนบริการใบรับรองบนเว็บถูกติดตั้งWindowsบนเซิร์ฟเวอร์ที่ใช้ Server 2008 R2
-
คุณมีคอมพิวเตอร์ไคลเอ็นต์ที่เรียกใช้Internet Explorer 10หรือเวอร์ชันที่ใหม่กว่า
-
คุณพยายามเข้าถึงหน้าการลงทะเบียนเว็บ Certificate Services ที่โฮสต์บนเซิร์ฟเวอร์ Windows Server 2008 R2
ในสถานการณ์นี้ จะได้รับข้อผิดพลาดต่อไปนี้ใน Internet Explorer:
เว็บเบราว์เซอร์นี้ไม่สนับสนุนการสร้างการร้องขอใบรับรอง
สาเหตุ
การตรวจสอบเวอร์ชันของเบราว์เซอร์ระบุเวอร์ชันของ Internet Explorer เป็น "IE 1" อย่างไม่ถูกต้อง
วิธีแก้ไขปัญหาชั่วคราว
วิธีแก้ไขปัญหาชั่วคราวที่ได้รับการสนับสนุนของปัญหานี้มีดังนี้:
-
กําหนดค่ามุมมองความเข้ากันได้ใน Internet Explorer
-
ย้ายหน้าที่การใช้งานของหน้า การลงทะเบียนเว็บ Windows Server 2012
-
Modify the Certsbrt.inc file by replacing lines 44 through 70 with the following content. 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