Classic ASP调用TLS1.2接口时MSXML2报80072f8f安全错误求助
解决Windows Server 2008 SP2上MSXML2.ServerXMLHTTP调用TLS1.2接口的80072f8f安全错误
我在维护一个遗留应用,对接新的支付REST服务时遇到POST请求失败的问题。代码在Windows 10开发环境运行正常,但部署到Windows Server 2008 SP2后报错。
出错代码:
Set HttpReq = Server.CreateObject("MSXML2.ServerXMLHTTP") HttpReq.open "POST", uri, False HttpReq.setRequestHeader "Content-Type", "application/json" HttpReq.setRequestHeader "Authorization", authHeader HttpReq.send json '<-- 错误发生在此处
错误信息:
msxml3.dll error '80072f8f'
A security error occurred
已知目标Web服务仅支持TLS 1.2,且运行代码的Windows Server 2008 SP2本身已支持TLS 1.2。
已完成的排查操作:
- 更新1:同一服务器通过CURL发送相同请求可成功
- 更新2:服务器与目标站点的密码套件存在重叠,可正常建立HTTPS通信
- 更新3:更换不同版本的MSXML2组件(如
MSXML2.ServerXMLHTTP.6.0)后错误依旧 - 更新4:添加
setOption相关配置(如指定TLS版本、忽略证书错误)后问题未解决
临时解决方案:
暂时通过编写.NET程序集封装HTTP请求逻辑,再通过COM调用的方式绕过该问题。
长期建议:
已建议对应用程序和服务器进行现代化升级——Windows Server 2008 SP2已停止官方支持,遗留的VBScript+MSXML技术栈也存在兼容性和安全隐患。
内容的提问来源于stack exchange,提问作者RikRak
相关产品推荐
相关产品推荐

