windows-7 – Squid,身份验证,Outlook Anywhere,Windows 7和HTTP 1.1 = NIGHTMARE

我正在使用Samba 3.5.4在 Linux CentOS 5.4上运行Squid代理(最新版本,3.1.4),以便为域用户提供经过身份验证的Web访问;一切正常,甚至完全支持Windows 7客户端.身份验证对于域用户是透明的,而对于非域用户则明确请求,并且如果用户可以提供有效的域凭据,则它可以正常工作.一切都很好.

然后,Outlook Anywhere开始了,痛苦和痛苦随之而来.

当Outlook(无论是2007年还是2010年,无关紧要)在Windows XP客户端上运行时,它通过Squid代理正常连接到其远程Exchange服务器.

当它在Windows 7上运行时,它不会.

如果从代理中取消身份验证要求,一切都在Windows 7上运行,因此问题显然与使用Squid的NTLM身份验证有关.

深入挖掘(WireShark),我发现Outlook Anywhere在Windows 7上运行时使用HTTP 1.1,而在Windows XP上使用HTTP 1.0.看起来Squid,即使是最新的版本,仍然有一些严重的麻烦正确处理HTTP 1.1,特别是在混合中抛出SSL和代理身份验证时.

在等待Squid完全正式支持HTTP 1.1(看起来这可能需要相当长的时间)时,我正在寻找以下解决方案之一:

>如果可能的话,让Squid正确处理.
>识别Outlook Anywhere连接并让Squid不需要对它们进行身份验证.但这并不容易:再次,在Windows XP和Windows 7上运行时,Outlook的行为会有所不同,而在Windows XP上,Outlook会发送一个非常好的用户代理字符串“msrpc”,在Windows 7上它不会发送任何(为什么?为什么?!?).
>即使在Windows 7上运行,也强制Outlook Anywhere使用HTTP 1.0.不,这并不像在Internet Explorer中取消选择“使用HTTP 1.1”那样简单,看起来Outlook忽略了该设置并自行选择使用哪种协议.
>任何其他可行的解决方案,不涉及将特定目标Exchange服务器列入白名单,这是我试图避免的最后解决方案.

Windows 7,Server 2008,我相信即使Vista认也不支持NTLMv1.如果它在XP上工作,而不是Windows 7,我会首先启用NTLMv1并查看它是否能解决您的问题.这是我遇到类似问题时帮助我的帖子. Windows7 – “The specified network password is not correct.” when the password is in fact correct

相关文章

Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...
Windows文件操作基础代码 Windows下对文件进行操作使用的一段...
Winpcap基础代码 使用Winpcap进行网络数据的截获和发送都需要...
使用vbs脚本进行批量编码转换 最近需要使用SourceInsight查看...