google chrome क्यों क्रोम ब्राउज़र मेरे http2 सर्वर को नहीं पहचानता है?



google-chrome nginx (1)

मैं डिजिटल महासागर कागज के अनुसार अपने एनजीएन कॉन्फ़ को सेटअप करता हूं, और अब http2 उपलब्ध है ...

लेकिन क्रोम में (संस्करण 54.0.2840.98 (64-बिट)) देव उपकरण, यह हमेशा HTTP 1/1 पर होता है:

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

मेरा सर्वर Ubuntu 16.04 LTS चला रहा है जो ALPN और NPN दोनों का समर्थन करता है, और इसके साथ भेजे गए openssl संस्करण 1.0.2g है

मैंने इस टूल साइट के साथ एचटीबी 2 समर्थन की जांच की और परिणाम है:

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

मैंने कंसोल से I-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

क्यों क्रोम इसके पीछे छोड़ दिया है? मैं उसे Safari (v 10.0.1) के साथ भी कैसे जांच सकता हूं


संभवतः दो कारणों में से एक होगा:

  1. आप एंटी-वायरस सॉफ़्टवेयर का उपयोग कर रहे हैं और यह आपके यातायात एमआईटीएम है और इसलिए आपको HTTP / 1.1 को डाउनग्रेड कर रहा है सर्वर पर सीधे कनेक्ट होने के लिए आपके ए वी पर https ट्रैफ़िक मॉनिटर को बंद करें। आप HTTP / 2 समर्थन के लिए अपनी साइट का परीक्षण करने के लिए ऑनलाइन टूल का उपयोग करके जांच सकते हैं

  2. आप पुराने टीएलएस सिफर और विशेष रूप से एक है जो क्रोम को HTTP / 2 ( https://http2.github.io/http2-spec/#BadCipherSuites ) के लिए उपरोक्त गाइड के चरण 5 के अनुसार अस्वीकार करता है। अपनी साइट को https://www.ssllabs.com/ssltest/ का उपयोग करके अपनी TLS कॉन्फ़िग जांचने और इसे सुधारने के लिए स्कैन करें।

तीसरा कारण आपकी एसएसएल / टीएलएस लाइब्रेरी में एएलपीएन समर्थन की कमी है (यानी आप ओपनसएसएल 1.0.1 का उपयोग कर रहे हैं और उदाहरण के लिए, एक 1.0.2 या बाद के संस्करण की आवश्यकता है), लेकिन आपने पहले ही पुष्टि कर ली है कि आपको एएलपीएन का समर्थन है, इसलिए इसे छोड़कर यह जवाब।