应用对象
Internet Explorer 11 Internet Explorer 10 Windows Server 2008 R2 Standard Windows Server 2008 R2 Enterprise Windows Server 2008 R2 Datacenter

症状

请考虑以下情况:

  • 证书服务 Web 注册角色服务安装在基于 Windows Server 2008 R2 的服务器上。

  • 你有一台运行 Internet Explorer 10 或更高版本的客户端计算机。

  • 尝试访问基于 Windows Server 2008 R2 的服务器上托管的证书服务 Web 注册页。

在这种情况下,Internet Explorer 中收到以下错误:

此 Web 浏览器不支持生成证书请求

原因

浏览器版本检查错误地将 Internet Explorer 版本标识为“IE 1”。

解决方法

此问题支持的解决方法如下:

  • 在 Internet Explorer 中配置兼容性视图。

  • 将 Web 注册页功能移动到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 nMSIEGetInternetExplorerVersionNumber = -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 IfEnd 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 IfEnd Function

更多信息

基于 2008 R2 Windows Server 的服务器上未修改的 Certsbrt.inc 文件中的第 44 行到第 70 行如下所示。 这些是要替换的行。

'' 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 IfEnd Function

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。