带有 OpenSSL 1.0.2 的最新 Nginx 仍然无法交付 http/2
Latest Nginx with OpenSSL 1.0.2 still won't deliver http/2
我有一台服务器 运行 Ubuntu 16.04 LTS,带有 Nginx 1.112,使用 OpenSSL 1.0.2h 构建,并根据许多 HTTP/2 支持验证工具,例如 this one,服务器已正确配置 HTTP/2 与 ALPN。然而在最新的 Chrome(51.0.2704.106(64 位))中,对服务器 returns 的请求使用协议 http/1.1
而不是 h2
:
我在这里阅读了很多帖子,比如 this one 注意到使用 1.0.2 之前的 OpenSSL 版本构建的 Nginx 不支持 ALPN。但是我是运行1.0.2h.
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.1 LTS
Release: 16.04
Codename: xenial
$ nginx -V
nginx version: nginx/1.11.2
built by gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.1)
built with OpenSSL 1.0.2h 3 May 2016
TLS SNI support enabled
$ openssl version
OpenSSL 1.0.2h 3 May 2016
Qualys SSL Labs 'SSL Server Test' 为域提供了 A+ SSL 评级。我使用 Let's Encrypt 通过引用的方法创建了证书 here.
难道还是Nginx证书配置问题?
非常感谢任何帮助。
之后,我发现这是一个本地问题。我的防病毒应用程序 Avast Mac Security 阻止了协议升级。禁用它,并使用 h2。
BazzaDP's answer on 是让我发现的原因:
我有一台服务器 运行 Ubuntu 16.04 LTS,带有 Nginx 1.112,使用 OpenSSL 1.0.2h 构建,并根据许多 HTTP/2 支持验证工具,例如 this one,服务器已正确配置 HTTP/2 与 ALPN。然而在最新的 Chrome(51.0.2704.106(64 位))中,对服务器 returns 的请求使用协议 http/1.1
而不是 h2
:
我在这里阅读了很多帖子,比如 this one 注意到使用 1.0.2 之前的 OpenSSL 版本构建的 Nginx 不支持 ALPN。但是我是运行1.0.2h.
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.1 LTS
Release: 16.04
Codename: xenial
$ nginx -V
nginx version: nginx/1.11.2
built by gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.1)
built with OpenSSL 1.0.2h 3 May 2016
TLS SNI support enabled
$ openssl version
OpenSSL 1.0.2h 3 May 2016
Qualys SSL Labs 'SSL Server Test' 为域提供了 A+ SSL 评级。我使用 Let's Encrypt 通过引用的方法创建了证书 here.
难道还是Nginx证书配置问题?
非常感谢任何帮助。
之后,我发现这是一个本地问题。我的防病毒应用程序 Avast Mac Security 阻止了协议升级。禁用它,并使用 h2。
BazzaDP's answer on