我根据Digital Ocean纸张设置了我的Nginx conf ,现在http2可用......
但在Chrome(版本54.0.2840.98(64位))开发工具中,它总是在HTTP 1/1上:
NAME METHOD STATUS PROTOCOL
shell.js?v=xx.. GET 200 http/1/1
Run Code Online (Sandbox Code Playgroud)
我的服务器正在运行Ubuntu 16.04 LTS,它支持ALPN和NPN,随附的openssl版本是1.0.2g
我用这个工具站点检查了http2支持,结果是:
Yeah! example.com supports HTTP/2.0. ALPN supported...
Run Code Online (Sandbox Code Playgroud)
也可以用curl检查
$ curl -I --http2 https://www.example.com
HTTP/2 200
server: nginx/1.10.0 (Ubuntu)
date: Tue, 13 Dec 2016 15:59:13 GMT
content-type: text/html; charset=utf-8
content-length: 5603
x-powered-by: Express
cache-control: public, max-age=0
etag: W/"15e3-EUyjnNnyevoQO+tRlVVZxg"
vary: Accept-Encoding
strict-transport-security: max-age=63072000; includeSubdomains
x-frame-options: DENY
x-content-type-options: nosniff
Run Code Online (Sandbox Code Playgroud)
我还从我的控制台检查了is-http2 cli
is-http2 www.amazon.com
× HTTP/2 not supported by www.amazon.com
Supported protocols: http/1.1
is-http2 www.example.com
? HTTP/2 supported by www.example.com
Supported protocols: h2 http/1.1
Run Code Online (Sandbox Code Playgroud)
为什么Chrome会落后呢?如何使用Safari(v 10.0.1)进行检查
Bar*_*ard 20
可能是以下两个原因之一:
您使用的是防病毒软件,MITM是您的流量,因此将您降级为HTTP/1.1.关闭AV上的https流量监控以直接连接到服务器.您可以使用在线工具测试您的站点是否支持HTTP/2,从而检查是否是这种情况.
您正在使用较旧的TLS密码,特别是Chrome不允许使用HTTP/2(https://http2.github.io/http2-spec/#BadCipherSuites),如上述指南中的步骤5所示.使用https://www.ssllabs.com/ssltest/扫描您的站点以检查您的TLS配置并对其进行改进.
第三个原因是您的SSL/TLS库中缺少ALPN支持(例如,您使用的是openssl 1.0.1,例如需要一个1.0.2或更高版本),但您已经确认您已获得ALPN支持,因此跳过了这个答案.
| 归档时间: |
|
| 查看次数: |
3129 次 |
| 最近记录: |