node.js - Chrome 54 无法从我的网站获得 HTTPS 响应; Chrome 53、Chromium、Firefox 和 Safari 可以

标签 node.js google-chrome https spdy

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

The network panel gives no useful information.

这是 Chromium 中的样子:

The network panel looks normal.

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

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

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

是什么让它表现得像这样?我不知道从哪里开始解决这个问题。

最佳答案

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

关于node.js - Chrome 54 无法从我的网站获得 HTTPS 响应; Chrome 53、Chromium、Firefox 和 Safari 可以,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40215393/

相关文章:

java - 为什么 com.sun.net.httpserver.HttpServer 挂了?

go - 来自 xx.xx.xx.xx :14333: EOF 的 TLS 握手错误

mysql - 辅助方法和关联包括不处理 Sequelize

javascript - 使用 requirejs 加载一个文件,里面有几个类(grunt-concat)

php - Internet Explorer 及其缺点(没有类似 Firebug 的调试工具)

google-chrome - 如何在CentOS 6.9 中安装谷歌浏览器?

css - Chrome float 正确调整大小错误?

java - tomcat 如何为语言环境请求提供 Http,为远程请求提供 https

javascript - 重新加载页面或浏览器后如何处理 Kaltura session 连接

node.js - 从 module.exports 中的另一个函数调用 module.exports 中的 "local"函数?