MSXML2.ServerXMLHTTP不会在一台服务器上发送(返回?),但在所有其他服务器上发送(返回?)



我有一个使用 MSXML2 的 asp 经典页面。Server 2008 上的 ServerXMLHTTP。它已经生产了十多年。 相同的代码在 2008 服务器、2012 服务器、2019 服务器和 Windows 10 的精确副本上运行,没有问题。 这最近必须改变,因为它几乎每天都在使用,我们今天只有关于它的报告。

它不会给出错误。 我只是打电话给MediaServiceRequest.Send,再也没有回来。我已经尝试了其他方法来创建对象,但它们都做同样的事情。 URL 是与调用方位于同一服务器上的网页。

Set MediaServiceRequest = Server.CreateObject("MSXML2.ServerXMLHTTP")
'Set MediaServiceRequest = Server.CreateObject("Msxml2.ServerXMLHTTP.6.0")
'Set MediaServiceRequest = Server.CreateObject("Msxml2.ServerXMLHTTP.3.0")
'Set MediaServiceRequest = Server.CreateObject("WinHttp.WinMediaServiceRequest.5.1")
'Set MediaServiceRequest = Server.CreateObject("MSXML2.XMLHTTP")
'Set MediaServiceRequest = Server.CreateObject("Microsoft.XMLHTTP")
f.writeline(now & " Error:" & Err.Number)  --> Is 0 here
MediaServiceRequest.Open "POST", url, false
f.writeline(now & " Error:" & Err.Number)  --> Is 0 here
MediaServiceRequest.Send s
f.writeline(now & " Error:" & Err.Number)  --> Never gets here

我已经重新注册了 MSXML3 和 6,但没有变化。 不管是http还是https。 当我将 url 和 s 内容放入浏览器时,它会正确响应。 我还能检查什么?

编辑:8/6/19 8:17 am。 我刚刚发现只要 url 不在同一台服务器上,它就可以工作! 我在同一台服务器上尝试了另一个网站,同样的问题。 我在另一台服务器上尝试了我的另一个网络,它可以工作! 阅读了一点后,一种解决方法是在 IIS 中将"启用服务器端调试"设置为 false,但这就是现在的设置方式。

Microsoft似乎不建议使用 MSXML2。服务器XMLHTTP在同一台服务器上。 那么有什么选择呢?

编辑:19-8-6 下午7:21。 我一直在努力

'Set MediaServiceRequest = Server.CreateObject("Msxml2.ServerXMLHTTP.6.0")
Set MediaServiceRequest = Server.CreateObject("WinHttp.WinHTTPRequest.5.1")
'MediaServiceRequest.option(9) = 512 'and 128, 1024
MediaServiceRequest.Open "GET", "https://www.howsmyssl.com/a/check", false
MediaServiceRequest.Send 
f.writeline(now & " sentObject")
s = MediaServiceRequest.ResponseText
f.writeline(now & " howmyssl:" & s)

我已经切换了不同类型的对象和选项,但我无法得到 howsmyssl.com 的响应。 我无法让WinHttp.WinHTTPRequest.5.1作为原始问题的替代品。 无论我如何使用WinHttp.WinHTTPRequest.5.1,我仍然在事件日志中收到Schannel错误。 我刚去 SSLlabs.com,我们已经从A变成了B! 我得看看这是怎么回事。

Ralpharama在TLS和SSLlabs方面走在了正确的轨道上。 当我用 SSLlabs.com 检查服务器时,我们不知何故回到了"B"评级。 我们运行了 IIS 加密工具并重新应用了安全模板,以使每个设置恢复到应有的位置。 重新启动后,我们再次出现"A"和MSXML2。ServerXMLHTTP又开始工作了!

最新更新