मौजूदा NGINX HTTP फ़ॉरवर्डिंग रूट में एन्कोड किए गए पाथ सुरक्षित रखें
जब फ़ॉरवर्डिंग अनुबंध को मूल पाथ और क्वेरी की आवश्यकता हो तो request_uri का उपयोग करें, और मौजूदा गंतव्य सत्यापन बनाए रखें।
$uri से बना रूट क्लाइंट द्वारा दिए गए पाथ से भिन्न पाथ भेज सकता है। http://service.example/files/a%2Fb?view=raw के लिए, एस्केप किया गया स्लैश उसी मूल वर्तनी का हिस्सा है।
| चर | निरूपण |
|---|---|
| $uri | वर्तमान सामान्यीकृत URI, जो आंतरिक प्रसंस्करण के दौरान बदल सकता है |
| $request_uri | मूल अनुरोध URI, इसके क्वेरी तर्कों सहित |
ऐसी मौजूदा HTTP फ़ॉरवर्ड-प्रॉक्सी व्यवस्था में जो पहले से गंतव्य प्राधिकरण का चयन और सत्यापन करती है, मूल पाथ और क्वेरी इस प्रकार सुरक्षित रखी जा सकती है:
proxy_pass http://$http_host$request_uri;$http_host इस व्यवस्था में चयनित Host हेडर प्राधिकरण प्रदान करता है। लिसनर के क्लाइंट प्रतिबंध, गंतव्य नीति और नाम-विश्लेषण कॉन्फ़िगरेशन बनाए रखें।
$uri$is_args$args को इस अभिव्यक्ति से बदलने पर भेजा जाने वाला निरूपण बदल जाता है; पूर्व वाला सामान्यीकृत पाथ और वर्तमान तर्कों का उपयोग करता है। एंडपॉइंट अनुबंध के अनुसार चुनें, विशेषकर जब एस्केप किए गए विभाजक महत्वपूर्ण हों या हस्ताक्षर मूल लक्ष्य को कवर करता हो। जानबूझकर पाथ फिर से लिखने की आवश्यकता भिन्न है।
यह दृश्यमान HTTP अनुरोध पर लागू होता है। HTTPS CONNECT टनल बाद के अनुरोध को TLS के भीतर ले जाती है और उसे अपने समर्थित प्रबंधन की आवश्यकता होती है।