MSXML服务器端经典ASP和证书。

4

我有一个经典的ASP应用程序,它执行了一个相当简单的服务器端GET请求。

我多年来一直使用同样的代码,并且在数百个用户中使用没有任何问题。但是,现在只有一个用户报告以下错误:

msxml3.dll error '80072f06'
The host name in the certificate is invalid or does not match

我已经尝试在各种操作系统和浏览器的组合中重现错误,但都没有成功。

更令我困惑的是,这是纯服务器端代码 - 服务器正在请求来自另一个ASP页面(在同一台服务器上)的数据,所以我不确定客户端浏览器会有任何影响。

有问题的代码非常简单:

  Set HTTP = Server.CreateObject("MSXML2.ServerXMLHTTP.3.0")
  URL="https://www.someserver.com/somepage.asp?id=12345"
  HTTP.Open "GET", URL, FALSE, username,password
  HTTP.SetRequestHeader "User-Agent",Request.ServerVariables("HTTP_USER_AGENT")
  HTTP.Send ""

再次说明,对于数百个用户来说,这运行正常——我们只听到了一个问题。

有问题的用户正在运行Win7(64位)和IE9(如果这很重要,因为我确实将代理设置为用户的实际代理)。 但是,即使我手动将代理设置为用户的确切字符串,我仍无法复制该问题。

有什么想法或建议吗? 我会非常感激!


1
数百个用户是否都使用您的asp代码访问同一个网站,还是他们都有本地安装的IIS并运行自己的Web服务器来运行您的代码?他们是否都访问完全相同的www.someserver.com或不同的服务器? - Jeff
关于Jeff的问题:您访问的用户服务器是否具有有效的SSL证书,您的服务器是否认可签署SSL证书的CA(认证机构)的有效性? - webaware
服务器确实拥有有效的SSL证书,并且该证书是由网络主机销售和安装的,因此我肯定认为它被认为是有效的。所有用户都运行相同的服务器端ASP代码-他们访问我们服务器上的ASP页面,然后运行上面的代码以获取其他信息。 - donchanger
1个回答

4

谢谢。我之前看过那个帖子,但不确定setOption和getOption如何仅影响其中一个用户。我知道这并不意味着它不起作用 - 更奇怪的事情已经发生过!- 但我仍然很好奇。我们将尝试查看是否有所帮助,但由于我们无法在任何自己的机器上重现问题,因此很难测试。谢谢。 - donchanger
当你说一个用户时,是指代码的用户(比如服务器管理员),还是前端用户访问代码?如果是前端用户,那就非常奇怪了。 - silver
“用户”指的是“前端”人员...也就是说,通过他们的浏览器从其他位置访问我们的Web服务器的人。如果有关系的话,我们现在有第二份报告提到了同样的问题,尽管我们仍然无法从我们尝试过的许多其他机器上重现它。 - donchanger
它们都在同一台服务器上访问相同的代码库吗?您正在尝试使用MSXML2访问的URL对于每个用户也是相同的吗? - silver

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接