Chrome 54 没有从我的站点获得 HTTPS 响应; Chrome 53、Chromium、Firefox 和 Safari 做

Chrome 54 doesn't get HTTPS response from my site; Chrome 53, Chromium, Firefox, and Safari do

大约一周前,我的网站运行良好。由于 Chrome 版本 54,我无法加载它。 HTTPS 请求未获得任何响应并显示“(已取消)”状态。它在 Chromium、Firefox、Safari 甚至 Chrome 53 中加载得很好。Chrome 的开发人员工具没有提供任何有用的信息 - 请参见图片。

这是它在 Chromium 中的样子:

(您会注意到第二张图片显示的是子域 www。这是因为,当裸域正确加载时,它会重定向到子域。)

我尝试修改我的服务器代码(Node、Express)以在收到每个请求时打印一条消息,但当我访问 Chrome 中的站点时它甚至不打印 (54.0.2840.71 (64 -少量))。当我访问 Chromium(53.0.2785.143(64 位))时它确实打印出来。

我什至尝试过使用另一台计算机。同样的事情 - 在 Chrome 中失败,在 Safari 中成功。

是什么让它表现得像这样?我不知道从哪里开始对此进行故障排除。

我不太了解这种行为,但我找到了一种在我的应用程序中修复它的方法。我正在使用 NPM 模块 spdy in place of Node's built-in https 模块通过 https 为我的应用程序提供服务。切换回内置模块解决了这个问题。 (这是一个简单的更改 - API 是兼容的。)我不知道 spdy 是否一直在 Chrome 54 中存在这个问题,但我在这个问题上浪费了太多时间,所以我将进一步调查作为给接下来挖掘这个答案的考古学家的练习。