为什么特定站点上的HTTP / 2在FF中工作,但在同一台Windows 10计算机上的Chrome,IE和Edge中不起作用?

我有一个网站,运行在Ubuntu 16.04服务器上的Nginx 1.10.0(OpenSSL 1.0.2h)。 我想通过HTTP / 2来服务这个站点,所以我相应地configuration了Nginx:

listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server 

而且在我办公室的Ubuntu 15.10桌面上的FF 47和Chrome 51以及我家Ubuntu 10.5.10桌面上的相同浏览器上,它工作的很好。

但是,在我的家庭Windows 10台式机和笔记本电脑的HTTP / 2只适用于FF。 Chrome 51,IE 11和Edge在这个网站上使用HTTP / 1.1。

所以,我很困惑。 这个服务说,我的网站支持HTTP / 2和ALPN(这是HTTP / 2 从51版本开始在Chrome中工作所必需的)。

Chrome版本和function完全相同:

Chrome网络信息

HTTPS工作,并在Chrome开发工具的安全面板显示,一切都是安全的。

Chrome,IE和Edge中的这个演示显示消息“ 此浏览器不 支持HTTP / 2 ”,以及FF中的“ 您的浏览器支持HTTP / 2! ”。 但medium.com上的HTTP / 2在所有这些浏览器中工作得很好。

所以,我的问题是:发生了什么事以及如何解决这个问题?

您是否使用防病毒软件(例如Avast)并检查您的HTTPS流量?

它通过像MITM这样的行为来实现,所以你把它连接起来,并连接到真实的网站。 如果他们只支持http / 1(据我所知,他们只能这样做),那么这就解释了这一点。 虽然奇怪的不是为了中等,除非你有这个例外。

在访问站点时应该足够简单,通过查看HTTPS证书进行检查,以查看是否由本地Avast服务器“发布”。

如果没有,那么建议你看看你的密码,因为HTTP / 2挑剔它使用哪些。 https://www.ssllabs.com/servertest上的任何奇怪的显示为您的网站? Chrome使用了什么密码?