listen 443 ssl
: पोर्ट 443 ( 0.0.0.0:443
) पर nginx सर्वर पर सभी ipv4 पते पर सुनता है,
जबकि
listen [::]:443 ssl
: पोर्ट पर 443 ( :::443
) सर्वर पर सभी IPv6 पते पर nginx सुनता है
[::]:443
जब तक आप पैरामीटर निर्दिष्ट नहीं करते, तब तक IPv4 पर nginx प्रतिक्रिया नहीं देगा ipv6only=off
:
listen [::]:443 ipv6only=off;
डॉक्टर के अनुसार: http://nginx.org/en/docs/http/ngx_http_core_module.html#listen
एसएसएल:
एसएसएल पैरामीटर (0.7.14) यह निर्दिष्ट करने की अनुमति देता है कि इस पोर्ट पर स्वीकृत सभी कनेक्शन एसएसएल मोड में काम करना चाहिए।
http2:
HTTP2 पैरामीटर (1.9.5) HTTP / 2 कनेक्शन को स्वीकार करने के लिए पोर्ट को कॉन्फ़िगर करता है ।
इसका मतलब यह नहीं है कि यह केवल HTTP / 2 कनेक्शन स्वीकार करता है।
RFC7540 के अनुसार
एक क्लाइंट जो अगले हॉप पर HTTP / 2 के समर्थन के बारे में पूर्व ज्ञान के बिना "http" URI के लिए अनुरोध करता है, HTTP अपग्रेड तंत्र का उपयोग करता है। क्लाइंट ऐसा HTTP / 1.1 अनुरोध करके करता है जिसमें "h2c" टोकन के साथ अपग्रेड हेडर फ़ील्ड शामिल होता है।
एक सर्वर जो HTTP / 2 का समर्थन नहीं करता है वह अनुरोध का जवाब दे सकता है, हालांकि अपग्रेड हेडर फ़ील्ड अनुपस्थित था।
HTTP/1.1 200 OK
Content-Length: 243
Content-Type: text/html
एक सर्वर जो HTTP / 2 का समर्थन करता है वह 101 (स्विचिंग प्रोटोकॉल) प्रतिक्रिया के साथ उन्नयन को स्वीकार करता है। 101 प्रतिसाद को समाप्त करने वाली रिक्त पंक्ति के बाद, सर्वर HTTP / 2 फ़्रेम भेजना शुरू कर सकता है।
संक्षेप में :
एक क्लाइंट जो HTTP / 2 का समर्थन नहीं करता है, वह कभी भी HTTP / 2 संचार अपग्रेड के लिए सर्वर से नहीं पूछेगा: उनके बीच संचार पूरी तरह से HTTP1 / 1 होगा।
एक क्लाइंट जो HTTP / 2 का समर्थन करता है, वह सर्वर से (HTTP1 / 1 का उपयोग करके) HTTP / 2 अपग्रेड के लिए पूछेगा:
- यदि सर्वर HTTP / 2 तैयार है, तो सर्वर क्लाइंट को इस तरह नोटिस करेगा: उनके बीच संचार HTTP / 2 पर स्विच हो जाएगा।
- यदि सर्वर HTTP / 2 तैयार नहीं है, तो सर्वर HTTP1 / 1 के साथ उत्तर देने वाले अपग्रेड अनुरोध को अनदेखा कर देगा: उनके बीच संचार HTTP1 / 1 से काफी कम रहना चाहिए।
शायद यहाँ और अधिक संक्षेप: http://qnimate.com/http2-compatibility-with-old-browsers-and-servers/
हालाँकि nginx doc में टीएलएस पर HTTP / 2 के बारे में निम्नलिखित बताया गया है:
ध्यान दें कि टीएलएस पर HTTP / 2 कनेक्शन स्वीकार करने के लिए "एप्लिकेशन-लेयर प्रोटोकॉल नेगोशिएशन" (ALPN) TLS एक्सटेंशन समर्थन की आवश्यकता होती है, जो ओपनएसएसएल संस्करण 1.0.2 के बाद से ही उपलब्ध है।
सुनिश्चित करें कि पुराने ग्राहक इस आवश्यकता के अनुरूप हैं।