我有一个运行在Windows Server2003 (32位)上的VB6程序,它使用Microsoft对象建立到使用ServerXMLHTTP身份验证的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身份验证。
发布于 2011-05-19 17:12:29
解决方案的关键是将程序从32位服务器迁移到64位服务器。32位程序和64位程序有不同的winhttp设置。
为了再次进行身份验证,我需要打开32位命令提示符"c:\windows\SysWOW64\cmd.exe“,并从那里运行netsh proxy settings实用程序。
https://stackoverflow.com/questions/6051942
复制相似问题