简而言之,问题是:如何确定在 Linux 中而不是 Windows 中出现的问题的原因(我的工作理论:这是由于基于 IcedTea 的 Java 和 Windows 中运行的 Java 之间的差异造成的)?
话题
注意:此问题涉及网站,但与网络方面无关。我已经发布了问题在 Web Apps 网站上,最初认为这是一个 Web 应用程序问题。该问题包括我对问题的网络方面的研究的描述。然而,进一步的测试表明它仅限于Linux。我这里的问题集中在Linux方面。
背景
我的大部分工作都是在 Debian Wheezy 中完成的。我还有 Mint 17.1 和 Windows 7。几天前,我突然开始在 Linux(两个发行版)中遇到问题,但在 Windows 中却没有,只有一个网站。
我有一个 Outlook.com 电子邮件帐户,但无法通过网络访问该电子邮件。网站打开后不久,消息列表就会变灰,并且弹出窗口会加载对 Skype 帐户要求的操作。它需要登录现有的 Skype 帐户或创建一个。
微软用 Skype 取代了 Outlook.com 中的 Messenger,弹出窗口是为了方便人们集成现有的 Skype 帐户或创建与电子邮件帐户集成的新帐户。我没有 Skype 帐户,或者不需要一个帐户,并且无法关闭或绕过此弹出窗口以返回电子邮件活动。微软确实不是制定新政策,要求电子邮件用户拥有 Skype 帐户;这只是错误的行为。 Windows 中不会出现此问题。
诊断
问题发生在全部我在 Linux(Debian 和 Mint)中测试过的浏览器,但在任何我在 Windows 中测试的浏览器。其中之一是 Firefox,在 Windows、Debian 和 Mint 中具有相同的版本和附加组件。该问题在两个 Linux 发行版中都会出现,但在 Windows 中不会出现。因此,问题不在于特定于浏览器,也不限于单个 Linux 发行版。
以前从 Linux 访问 Outlook.com 没有任何问题,因此我怀疑它是由最近对 Outlook.com 网站的更改或最近至少影响 Debian 系列发行版的系统更新触发的。
我能想到的唯一共同点是该问题可能是基于 Java 的(网站困难的常见来源)。 Debian 系列发行版使用基于 IcedTea 的版本,该版本与 Windows 中使用的版本不同。我在不同平台上都有最新的可用 Java 版本,并且浏览器都是最新版本,即使在 Debian 上也是如此。
顺便说一句,当我认为这是一个网站问题时,我尝试联系 Microsoft。长话短说,微软不提供Linux支持(显然,他们有自己的操作系统)。
客观的
如何诊断根本问题(或验证 Java 是否是问题所在)?当然,有 Linux 解决方案吗?我的在线研究没有发现同一问题的其他报告,但距离问题出现才几天。
附录
奇怪的相关行为(仅在 Linux 中),可能会帮助比我更有知识的人:
好的,仅限第一次 我测试过的一款浏览器是最基本的 Chromium。我在 Outlook.com 上尝试过,它有效,这让我认为这是浏览器问题。我在 Web Apps 网站上发布了一个答案,解决方案是使用不同的浏览器。第二天我用它登录 Outlook.com,弹出窗口问题也出现了(我删除了答案)。
我刚刚在 Firefox 中遇到了同样的模式。我手动禁用了扩展和插件作为测试,但这并没有影响问题。我以安全模式启动,Outlook.com 可以正常工作。我再次尝试手动禁用附加组件,但问题又回来了。我再次尝试了安全模式,就像 Chromium 一样,这是一次性修复。第二次对问题没有任何影响。
其他 Microsoft 网站 我突然想到 Outlook.com 并不是唯一有问题的 Microsoft 网站。单击各个 Microsoft 站点(支持和参考页面)的链接通常会弹出一个登录页面,就好像我需要登录我的 Microsoft 帐户才能查看任何 Microsoft 页面一样。这些是公众可以自由访问的页面。
答案1
对于任何有类似问题的人,我发现了如何消除症状,尽管我还没有确定导致根本问题的原因。
问题模式表明 cookies 可能是该机制的一部分。我删除了我在 Firefox 中可以识别的所有与 Microsoft 相关的 cookie,并重试了 Outlook.com。它又起作用了。我回到了 Chromium,Outlook.com 也在那里工作,尽管我在 Chromium 中没有进行任何更改。其他 Microsoft 站点现在也可以正常工作。已经过去几天了,微软网站仍然可以运行。
该行为表明,删除 Firefox 中的 cookie 会触发网络端的某种重置。因此,直接原因似乎是与用户帐户损坏相关的基于网络的问题。然而,这仍然留下了一个问题:为什么只有从 Linux 平台访问网站时用户帐户才会被损坏。