Configuré mi configuración de Nginx según Papel digital Ocean, y ahora http2 está disponible ...

Pero en la herramienta de desarrollo de Chrome (versión 54.0.2840.98 (64 bits)), siempre está en HTTP 1/1:

NAME             METHOD  STATUS  PROTOCOL
shell.js?v=xx..    GET    200     http/1/1

Mi servidor está ejecutando Ubuntu 16.04 LTS que es compatible con ALPN y NPN, y la versión de openssl que se envía con él es 1.0.2g

Verifiqué el soporte de http2 con este sitio de herramientas y el resultado es:

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

También comprobar con curl está bien

 $ 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

También verifiqué con is-http2 cli desde mi consola

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

¿Por qué Chrome se queda atrás? ¿Cómo puedo comprobarlo también con Safari (v 10.0.1)?

9
user762579 13 dic. 2016 a las 10:56

2 respuestas

La mejor respuesta

Probablemente sea una de dos razones:

  1. Está utilizando un software antivirus y es MITM su tráfico y, por lo tanto, lo degrada a HTTP / 1.1. Desactive la supervisión del tráfico https en su AV para conectarse directamente al servidor. Puede comprobar si este es el caso utilizando una herramienta en línea para probar su sitio para la compatibilidad con HTTP / 2 .

  2. Está utilizando cifrados TLS más antiguos y específicamente uno que Chrome no permite para HTTP / 2 ( https: // http2 .github.io / http2-spec / # BadCipherSuites) según el Paso 5 de la guía anterior. Escanee su sitio usando https://www.ssllabs.com/ssltest/ para verificar su configuración de TLS y mejoralo.

La tercera razón es falta de compatibilidad con ALPN en su biblioteca SSL / TLS (es decir, está utilizando openssl 1.0.1 y necesita ser uno 1.0.2 o posterior, por ejemplo) pero ya ha confirmado que tiene soporte ALPN, así que omita eso para esta respuesta.

24
Barry Pollard 7 ago. 2017 a las 20:22