我有一个站点,它运行在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
它在我的办公室Ubuntu 15.10桌面上的FF 47和Chrome 51以及我家Ubuntu 15.10桌面上的相同浏览器中都能正常工作。
然而,在我的家中,Windows 10台式机和笔记本电脑HTTP / 2仅适用于FF。 Chrome 51,IE 11和Edge在此网站上使用HTTP / 1.1。
所以,我感到困惑。 This service说,我的网站支持HTTP / 2和ALPN(HTTP / 2需要在Chrome since version 51中使用)。
Chrome版本和功能完全相同:
HTTPS工作正常,Chrome开发工具中的安全性面板显示一切都是安全的。
Chrome,IE和Edge中的This demo会显示消息" 此浏览器未启用HTTP / 2。"和" 您的浏览器支持HTTP / 2!"在FF。 但是medium.com上的HTTP / 2在所有这些浏览器中运行良好。
所以,我的问题是:发生了什么以及如何解决这个问题?
答案 0 :(得分:6)
您使用的是防病毒软件(例如Avast)吗?它是否正在检查您的HTTPS流量?
它通过像MITM一样工作,所以你连接它,它连接到真正的网站。如果他们只支持http / 1(据我所知他们只做),那就可以解释这一点。虽然奇怪的是不适用于Medium,除非你有例外。
在访问该网站时,通过查看HTTPS证书来检查是否由您当地的Avast服务器“发布”,应该很容易检查。
如果没有,那么建议你查看你的密码,因为HTTP / 2很挑剔它使用的是哪些。您https://www.ssllabs.com/servertest为您的网站显示的任何奇怪内容?它用于Chrome的密码是什么?