为什么Internet Explorer 9用户代理字符串(“MSIE部分”)在Apache Tomcat 7中搞乱了代理和/或NTLM身份验证?


0

在我的网络中,当我尝试以下面的url格式访问网站时,我们在代理(pac脚本)后面:

http://serverName.domain.com:8080/somePath

IE(9.0.8112.16421)无法浏览该站点(需要http auth NTLM),但我可以在http://serverName.domain.com:8080/打开主页 (它实际上是Web服务器) apache tomcat主页)

参阅上次更新,看起来问题与NTLM身份验证更相关

但是我注意到Chrome浏览器完全浏览了网站,通过在Internet Explorer中打开开发人员工具(F12)并将用户代理字符串设置为“Chrome”,然后IE就可以浏览到该网站而无需任何其他更改。

现在问题是,代理+ http auth + ie有什么问题吗?<< udpate:不是代理>>当我使用Chrome用户代理字符串时,还有什么变化,为什么会以这种方式工作?

我一直在阅读并知道有一些方法可以使用IEM(http://technet.microsoft.com/en-us/library/cc770379.aspx)更改IE9(9.0.8112.16421)用户代理,例如“永久” Windows注册,但需要管理员权限,不知道这是问题还是其他的东西。

注意:当检查开发工具(IE)中的“网络”选项卡时,结果显示“已中止”,并且只有响应标头可用,甚至没有请求标头/正文:

Key Value
Response    HTTP/1.1 401 Unauthorized
Server  Apache-Coyote/1.1
WWW-Authenticate    NTLM TlRMTVNTUAACAAAAAAAAACgAAAABggAAAAICAgAAAAAAAAAAAAAAAA==
Content-Type    text/html;charset=utf-8
Content-Length  951
Date    Fri, 16 Jan 2015 17:04:36 GMT
Cache-Control   proxy-revalidate
Proxy-Connection    Keep-Alive
Connection  Keep-Alive
Proxy-support   Session-based-authentication

更新 我与其他国家/地区的合作伙伴进行了核对,他们可以在不切换用户代理字符串的情况下打开网站,代理脚本看起来几乎一样,ipconfig命令中的DNS信息看起来一样,我只能认为有我们的代理服务器(放置pac脚本)中的某些内容<< update:不是代理>>

我想我可以丢弃任何有关DNS服务器的信息,因为通过切换用户代理我可以访问该网站,但如果您知道我不对,请发表评论。

更新2 刚刚意识到设置任何其他自定义用户代理我能够打开网站,我甚至设置“你好”这个词并且工作。经过多次尝试/失败后,还意识到用户代理的字符串中的“MSIE”部分是导致失败的部分(除了代理服务器中的任何其他错误配置)。

通过删除“MSIE”甚至只删除一个字符,我可以浏览该网站,但如果我在任何其他用户代理字符串中包含这4个字符,那么我将无法浏览该网站。

更新3 到目前为止,我在其他国家/地区的团队成员可以访问该网站而无需使用其他用户代理字符串,所有内容都指向代理+ http auth搞乱了活动目录身份验证或类似的事情我已经阅读了kerberos auth的一些问题,但我到目前为止我不知道它是如何工作的以及为什么IE存在问题。

更新4 我刚刚检查了我的队友的请求/响应,看起来几乎相同,他们也使用NTLM身份验证,但是他们可以使用Internet Explorer访问该站点而无需修改用户代理字符串

更新5 好吧我们为我们的本地帐户进行了域名迁移,除了没有通过“另一个网络”(我们是拉丁美洲人,在我看来,我们的旧域名在亚洲或类似的东西,没有从中得到很多信息IT方面)不知道有任何其他改变,但现在它的工作原理。,如果有人想分享任何有关可能发生变化的好主意,或者对NTLM认证有何影响我会评论/回答

注意 Web服务器是Apache Tomcat / 7.0.33并使用http auth,您知道/认为这是与活动目录中的权限相关的事情吗?我有服务器名称和IP,如果是权限,我可以丢失什么样的权限?将用户代理切换到Chrome时,我不会看到提琴手上的NTLM标题,为什么我可以访问Chrome用户代理(没有NTLM身份验证)但不能访问IE(NTLM身份验证)<< 更新:域迁移后我可以访问使用IE并使用NTLMT auth >>?


您访问的站点可能正在根据用户代理字符串提供不同的代码。在不知道实际网站的情况下很难排除故障。
Alistair McMillan

我相信,但其他合作伙伴(越野)能够使用我正在使用的相同IE版本浏览网站,并使用pac代理(几乎相同的代码)。该网站不公开(这就是我使用虚拟名称的原因)。这样可以减少我对IE或代理的问题,或两者兼而有之(我问我的外国合作伙伴是否确实通过IEM或Windows注册更改了他们的用户代理,但直到下周才得到答案)
Allende

当你说他们使用相同的IE版本时,你的意思是你们都在使用IE9吗?因为值得检查确切的版本(例如9.00.8112.16599)。过去我们曾经有过一些客户,他们都是IE浏览器的一个版本,但是在访问某个特定网站时,有少数客户正在崩溃他们的浏览器。原来,少数人没有收到IE补丁。
Alistair McMillan

嗯我们应该是完全相同的版本,因为IE是集中管理的,我们应该安装相同版本,无论如何都会确认所以我不会跳过它,现在这可能是问题,但是还是网页/ IE实际上并没有崩溃,我只是无法浏览它时,IE 9(9.0.8112.16421)使用默认的用户代理字符串
阿连德

我已经看到了这种事情发生的几个例子,所有这些都是服务器端问题。您是否尝试使用欺骗用户代理的IE插件?
Thebluefish 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.