网站在 Chrome 中可以运行,但在 Internet Explorer 中无法运行

网站在 Chrome 中可以运行,但在 Internet Explorer 中无法运行

我正在使用 Windows 7 Pro x64,我可以访问此网站在 Chrome 中没有问题。

但是,Internet Explorer(v 11.0.9600.17959)将会超时并显示:

此页面无法显示。

我猜这是我这边的配置问题。我破坏了什么?

答案1

简短答案

根据我所做的测试,在使用来调试网站/URL 时似乎发生了 302 重定向循环curl。并且该 302 重定向循环会导致网站在某些浏览器中无法加载。

话虽如此,但这curl是一个相当愚蠢的 HTTP 测试工具,无法处理 cookie,并且根据调试过程发回的 HTTP 标头,该网站似乎无休止地尝试在客户端设置 cookie。这不是一件好事。

了解了这一点,我们可以假设,如果网站在使用 进行测试时无法设置 cookie,从而陷入 302 重定向循环curl,那么也许您安装的 Internet Explorer 11 存在一些异常,导致服务器无法ivytech.edu设置 cookie?这会导致服务器上出现 302 重定向循环条件,然后在 Internet Explorer 11 遇到该 302 重定向循环时,导致页面无法正确加载。

也就是说,ivytech.edu从技术/“构建失败”的角度来看,我发现服务器 cookie/会话设置存在问题。我相信,即使您安装的 Internet Explorer 11 确实存在问题,服务器 cookie/会话设置ivytech.edu也是一个迟早会发生的问题。不幸的是,您碰巧遇到了这个问题。服务器连接不应该因为无法连接到客户端而失败;这是糟糕的工程。

较长的答案

您这样说:

我猜这是我这边的配置问题。我破坏了什么?

首先,不要责怪自己,因为您总是责怪 Internet Explorer!在这种情况下,甚至责怪 Internet Explorer,因为该网站本身似乎有问题,Chrome 允许该网站,但 Internet Explorer 却无法访问。这就是我能够诊断它的方法。

首先,我去了使用 W3C 标记验证器检查 URL 本身。我收到了以下消息:

抱歉!无法检查此文档。

这与您在 Internet Explorer 中收到的消息基本相同,但由于 W3C 标记验证器是一个 HTML 调试工具,因此它向我提供了更多信息:

检测到重定向循环 (max_redirect = 7)

啊哈!这就是问题所在!服务器本身重定向 URL 超过 7 次,这被认为是不好的做法。

为了进一步调试,我打开了终端(我在 Mac OS X 机器上),并使用以下代码测试了该 URL:curl像这样:

curl -I -L http://cc.ivytech.edu/cp/home/displaylogin

-I选项仅返回裸 HTTP 标头,并-L告知 curl 遵循所有重定向。之后我看到的是这两个位置之间无限循环的内容:

HTTP/1.1 302 Moved Temporarily
Server: nginx/1.6.2
Date: Sat, 29 Aug 2015 05:00:42 GMT
Content-Type: text/html
Content-Length: 160
Connection: close
Location: https://ccapps.ivytech.edu/cgi-bin/ccsession/session.cgi

HTTP/1.1 302 Found
Date: Sat, 29 Aug 2015 05:00:43 GMT
Server: Apache/2.2.15 (Red Hat)
Set-Cookie: CCSESSID=nWSdtHa8fQQSLmBsRYQZhalig3r5GYNW; domain=.ivytech.edu; path=/
Location: http://cc.ivytech.edu/cp/home/displaylogin
Connection: close
Content-Type: text/html; charset=iso-8859-1

请注意,第一个HTTP/1.1 302 Moved Temporarily重定向到https://ccapps.ivytech.edu/cgi-bin/ccsession/session.cgi,然后返回,HTTP/1.1 302 Found然后再次重定向到第一个 URL,。http://cc.ivytech.edu/cp/home/displaylogin这很奇怪。据我所知,没有任何正当理由让 Web 服务器无休止地循环这样的 URL 位置。

所以问题是可能不是你那边。Chrome 不知何故在ivytech.edu服务器上的这个奇怪的服务器设置下运行良好。但 Internet Explorer 基本上是在按照指令执行,然后说:“嘿,为什么重定向这么疯狂?我放弃了。”

但我说过可能, 正确的?

也许问题出在服务器上,ivytech.edu或者这可能是 cookie/会话问题。请注意,在第二跳上,标头试图通过 设置 cookie Set-Cookie: CCSESSID=nWSdtHa8fQQSLmBsRYQZhalig3r5GYNW; domain=.ivytech.edu; path=/。在curl该指令中,来自服务器的指令永远无法设置 cookie,因为curl是一个相当“愚蠢”和简单的 HTTP 测试工具;所以也许 无法curl设置 cookie 导致了循环?知道了这一点,人们可能会推断出 Internet Explorer 11 设置中的某些内容也导致了 cookie 设置问题?

这一切意味着:客户端(也就是您那边)可能没有问题。但ivytech.edu管理该网站/URL 的 Web 服务器可能存在问题。当您的 Internet Explorer 11 设置处理此网站时,也许也存在 cookie/会话问题?我会考虑联系他们的技术支持团队并提醒他们这个问题,甚至可以让他们参考这个帖子。哎呀,您知道这是他们的服务器设置以及本地 cookie/会话问题的组合。

答案2

最近我们遇到了类似的问题,其中一个网站在 Chrome 中可以运行,但在 IE 中却不行。虽然页面已呈现,但我们无法在 IE 中登录。最后,问题是主机名的 URL 中有一个“_”(下划线),IE 会出错。一旦我们重命名网站,就无需下划线。在两个版本中都可以运行。

答案3

我尝试了这里的所有解决方案,也尝试了企业模式,但问题仍然存在。

我所要做的就是将域名添加到 IE 设置中的受信任站点,这样就可以解决问题,例如 *.subdomain.domain.com

答案4

检查网站是否未添加到兼容性视图。检查 IE 工具 - 兼容性视图设置。我在 IE 中渲染时也遇到了问题,但在 Chrome 中没有,导致无法获取 SAML 响应。原来这就是原因。

相关内容