Chrome浏览器为何无法识别我的http2服务器?

用户名

我根据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

我的服务器正在运行同时支持ALPN和NPN的Ubuntu 16.04 LTS,并且随附的openssl版本是1.0.2g。

我在此工具站点上检查了http2支持,结果是:

Yeah! example.com supports HTTP/2.0. ALPN supported...

还可以检查是否卷曲:

 $ 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

我还从控制台通过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

Chrome为什么无法识别它?

如何同时使用Safari(v 10.0.1)进行检查?

巴里·波拉德

可能是以下两个原因之一:

  1. 您使用的是防病毒软件,它的流量为MITM,因此将其降级为HTTP / 1.1。关闭AV上的https流量监控,以直接连接到服务器。您可以通过使用在线工具来测试您的站点对HTTP / 2的支持来检查是否是这种情况

  2. 您使用的是较旧的TLS密码,具体来说是Chrome根据上述指南的第5步针对HTTP / 2(https://http2.github.io/http2-spec/#BadCipherSuites不允许使用的密码使用https://www.ssllabs.com/ssltest/扫描您的网站,以检查您的TLS配置并进行改进。

第三个原因是您的SSL / TLS库中缺少ALPN支持(例如,您正在使用openssl 1.0.1,并且需要一个1.0.2或更高版本),但是您已经确认自己具有ALPN支持,因此请跳过这个答案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么Chrome浏览器无法识别我的http2服务器?

我无法使用浏览器的简单代理服务器获得http响应

无法使用浏览器使用http中的域名访问我的服务器

Chrome 驱动程序服务器无法启动 Chrome 浏览器

Google Chrome浏览器不与http2进行多路复用

服务器如何识别HTTP2中不同客户端的头部压缩

在浏览器中检测HTTP2 / SPDY支持

当打开打印预览时,Chrome浏览器无法进行服务器调用

打开我的 Web 服务器时,浏览器显示 ERR_INVALID_HTTP_RESPONSE

为什么我的服务器无法响应Web浏览器对客户端的请求?

无法通过网络浏览器连接到我的Odoo服务器

无法在浏览器上运行Tomcat服务器?

HTTP / 2服务器推送和浏览器缓存

AWS EC2 - 浏览器无法连接到服务器

Spring Boot HTTP2服务器推送

Jetty HTTP2服务器推送支持

无法从FireFox连接到远程服务器,但可以在IE和Chrome浏览器中使用

当我在浏览器中使用0.0.0.0而不是localhost时,Chrome /服务器会做什么?

Ubuntu:端口80上的Http服务器正在启动,但是无法从浏览器访问吗?

尽管数据显示在浏览器中,但我无法将数据从服务器检索到 android studio

Node.js“服务器正在侦听端口3000”,但是我无法在浏览器中查看它?

CSS-为什么我的浏览器无法反映服务器上所做的任何更改?

当浏览器不支持http2时回退到http1.1

如果浏览器兼容 HTTP1.x,它是否也兼容 HTTP2?

尽管服务器在响应标头中发送“ Upgrade:h2”,但无法向Apache服务器发出http2请求

服务器无法识别HTTP标头SOAPAction的值

Aws 无服务器服务重定向浏览器 http 请求?

如何确定浏览器请求的HTTP版本和服务器响应的HTTP版本?

HTTP2标头与旧版浏览器的兼容性