क्लाइंट - Nginx HTTP2 - Apache HTTP1.1 RFC उल्लंघन प्रतीत होता है
नमस्ते, मुनोऊ हूँ। मुझे पता भी नहीं चला और Deno में मेरा पुल रिक्वेस्ट मर्ज हो गया। वाह!
समस्या
जैसा कि शीर्षक में बताया गया है, यदि यह RFC उल्लंघन है, तो क्या होता है कि
curl नहीं चल पाता है
curl: (92) HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)
ऐसा लगता है कि HTTP/2 को हमेशा HTTPS संचार की आवश्यकता होती है, फिर भी जब Nginx को रिवर्स प्रॉक्सी के रूप में उपयोग किया जाता है और बैकएंड Apache सर्वर के साथ HTTP संचार करता है, तो ऐसा होता है।
समाधान: HTTP/2 को अक्षम करें
इस तरह की बेवकूफी भरी... बात है, और GitHub पर भी इस समस्या के बारे में कई जगहों पर चर्चा हो रही है।
फिलहाल, मैंने केवल HTTP/2 को बंद कर दिया है।
इसके अलावा, इस स्थिति में, यह कभी-कभी MacOS/IOS ब्राउज़र से दिखाई नहीं देता है, कभी-कभी दिखाई देता है, और समाधान के बारे में बहुत कम जानकारी है। यदि आप curl विकल्प में --http1.1 निर्दिष्ट करते हैं, तो यह फिलहाल काम करता है, लेकिन...
HTTP2 की विशिष्टता
HTTP2 की विशिष्टता के अनुसार, इसे HTTP और HTTPS दोनों के साथ उपयोग किया जा सकता है, लेकिन ब्राउज़र केवल HTTPS संचार की अनुमति देते प्रतीत होते हैं। यह क्या है...?
अप्रभावी स्व-हस्ताक्षरित
बैकएंड Apache पर स्व-हस्ताक्षरित प्रमाणपत्रों के साथ अस्थायी HTTPS संचार के लिए, और बैकएंड पर भी,
Protocols h2 http/1.1
लिखकर और a2enmod के साथ मॉड्यूल को सक्षम करने के बाद भी, यह अभी भी काम नहीं कर रहा है।
HTTP/2 की आवश्यकता
HTTP/1.1 और HTTP/2 के साथ कई छवियों की डाउनलोड गति की तुलना करना
वास्तव में, मैं HTTP/2 का ठीक से समर्थन करना चाहता हूँ, लेकिन मुझे आश्चर्य है कि क्या यह आवश्यकतानुसार होगा...?
चूंकि यह कल ही हुआ है, इसलिए मुझे थोड़ी और धीमी गति से जांच करने की आवश्यकता होगी 👀