gpt4 book ai didi

web-services - NTLM 身份验证和 ServerXMLHTTP 在 64 位 Windows Server 2008 上?

转载 作者:行者123 更新时间:2023-12-04 06:25:51 26 4
gpt4 key购买 nike

我有一个运行在 Windows Server 2003(32 位)上的 VB6 程序,它使用 Microsoft ServerXMLHTTP 对象通过 NTLM 身份验证建立到 Web 服务的 HTTP 连接。为了使身份验证工作,我必须配置 winhttp 代理,通过运行将目标服务器放在代理绕过列表中

proxycfg -p proxy-server dest-web-server

在命令提示符中。

完成此操作后,对 Web 服务的每次调用都会导致对 Web 服务器的 3 次 HTTP 调用,因为 ServerXMLHTTP 对象首先尝试匿名访问,然后是 2 次调用以进行 NTLM 身份验证。这一切都是正常的,也是意料之中的。

将程序迁移到 Windows Server 2008(64 位)并在命令提示符中使用等效代理设置后
netsh winhttp set proxy proxy-server="proxy-server" bypass-list="dest-web-server"

NTLM 身份验证不再有效。 Web 服务器日志显示 ServerXMLHTTP 对象仅建立一个匿名 HTTP 连接并返回 401 响应,并且从未尝试过 NTLM 身份验证。

最佳答案

解决方案的关键是程序从 32 位服务器迁移到 64 位服务器。 32 位程序和 64 位程序有单独的 winhttp 设置。

为了再次进行身份验证,我需要打开 32 位 命令提示符“c:\windows\SysWOW64\cmd.exe”并从那里运行 netsh 代理设置实用程序。

关于web-services - NTLM 身份验证和 ServerXMLHTTP 在 64 位 Windows Server 2008 上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6051942/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com