Nginx में HTTP2-संगत रिवर्स प्रॉक्सी का उपयोग करना
नमस्ते, मैं अक्षम हूँ।
हाल के लेख HTTP/2 समर्थन के लिए संघर्ष कर रहे हैं, लेकिन...
$ curl https://soulminingrig.com/
curl: (92) Invalid HTTP header field was received: frame type: 1, stream: 1, name: [upgrade], value: [h2,h2c]
और फिर...
अपग्रेड का उपयोग केवल http के मामले में किया जा सकता है।
और चूंकि Nginx और Apache के बीच कनेक्शन HTTP1.1 का उपयोग करके किया जाता है, इसलिए यह हेडर जानकारी शामिल होती है, और जब HTTPS मानक HTTP/2 संचार के साथ curl किया जाता है, तो यह एक त्रुटि देता है।
तो, मैंने सोचा, "क्या होगा अगर मैं इसे हटा दूं?" और जब मैंने इसे आज़माया, तो यह काम कर गया।
मोटे तौर पर कहें तो, मैं HTTP संचार के दौरान हेडर जानकारी सहित इसे वितरित कर रहा था, इसलिए यदि मैं इसे HTTP2 के अनुरूप बनाता हूँ, तो यह काम करना चाहिए, है ना? यह कुछ ऐसा ही है।
जापानी जानकारी के लिए, मुझे लगता है कि NIC का लेख सबसे आसान है।
Nginx सेटिंग्स
ऐसा लगता है कि आपको बस इसे location डायरेक्टिव में सेट करना है और Upgrade हेडर को हटाना है।
यह आवश्यक नहीं हो सकता है, लेकिन चूंकि यह HTTP संचार है, मैंने इसे स्पष्ट कर दिया है।
proxy_hide_header Upgrade;
proxy_http_version 1.1;
अब curl!
अब, यदि आप curl -I करते हैं...
$ curl -I https://soulminingrig.com/
HTTP/2 200
server: nginx/1.27.0
date: Thu, 21 Nov 2024 22:44:47 GMT
content-type: text/html
content-length: 15375
vary: Accept-Encoding
last-modified: Thu, 21 Nov 2024 03:45:14 GMT
etag: "3c0f-627641819d3e9"
accept-ranges: bytes
vary: Accept-Encoding
content-security-policy: upgrade-insecure-requests
alt-svc: h3=":443"; ma=86400
x-content-type-options: nosniff
यह काम कर गया!!!
आज मेरी विदाई पार्टी है, इसलिए मैं बिना किसी चिंता के शराब पी सकता हूँ!
फिर मिलेंगे। सादर।