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

Ale*_*lov 4 browser windows https http nginx

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

listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server
Run Code Online (Sandbox Code Playgroud)

它在我的办公室Ubuntu 15.10桌面上的FF 47和Chrome 51以及我家Ubuntu 15.10桌面上的相同浏览器中都能正常工作.

但是在我的家中,Windows 10台式机和笔记本电脑HTTP/2仅适用于FF.Chrome 51,IE 11和Edge在此网站上使用HTTP/1.1.

所以,我很困惑.这项服务表示,我的网站支持HTTP/2和ALPN(从版本51开始,HTTP/2需要在Chrome中运行).

Chrome版本和功能完全相同:

Chrome网络信息

HTTPS工作,Chrome开发工具中的安全面板显示,一切都是安全的.

Chrome,IE和Edge中的此演示在FF中显示消息" 此浏览器未启用HTTP/2. "和" 您的浏览器支持HTTP/2! ".但是在所有这些浏览器中,medium.com上的HTTP/2都可以正常工作.

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

Bar*_*ard 6

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

它通过像MITM一样工作,所以你连接它,它连接到真正的网站.如果他们只支持http/1(据我所知他们只做),那就可以解释这一点.虽然奇怪的是不适用于Medium,除非你有例外.

在访问该站点时,通过查看HTTPS证书可以很容易地进行检查,看看它是否是由您当地的Avast服务器"发布"的.

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