मिलान और प्रतिस्थापन
मिलान और प्रतिस्थापन प्रॉक्सी से गुजरते ट्रैफ़िक को अपने आप बदलता है। इसमें हर अनुरोध रोकने या उस पर मैन्युअल कार्रवाई करने की ज़रूरत नहीं होती।
नियम कैसे काम करते हैं
प्रत्येक नियम तय करता है कि क्या खोजना है और उसके साथ क्या करना है। अनुरोध या प्रतिक्रिया शर्तों से मेल खाने पर नियम तुरंत अपना ट्रांसफ़ॉर्म लागू करता है।
नियम सूची में दिखने वाले क्रम में लागू होते हैं। यदि दो नियम एक ही हेडर को लक्षित करते हैं, तो पहला मेल खाने वाला नियम पहले लागू होता है और आगे के नियम उस बदलाव का परिणाम देखते हैं।
नियम फ़ील्ड
| फ़ील्ड | विवरण |
|---|---|
| नाम | नियम का लेबल। उसका उद्देश्य पहचानने के लिए वर्णनात्मक नाम दें। |
| दिशा | नियम अनुरोध, प्रतिक्रिया या दोनों पर लागू होता है |
| कार्रवाई | किया जाने वाला ट्रांसफ़ॉर्म; नीचे ऑपरेशन तालिका देखें |
| मिलान मोड | ऑपरेशन के अनुसार लिटरल, रेगुलर एक्सप्रेशन या पूरी सामग्री |
| मिलान मान | खोजी जाने वाली स्ट्रिंग या पैटर्न |
| प्रतिस्थापन मान | उसकी जगह डाला जाने वाला मान |
| चालू | नियम हटाए बिना सक्रिय या निष्क्रिय करने का स्विच |
| फ़िल्टर | वैकल्पिक विधि, होस्ट, पथ और HTTPQL शर्तें, जो नियम के लागू होने की सीमा तय करती हैं |
ऑपरेशन
| कार्रवाई | कार्य |
|---|---|
| हेडर जोड़ें | निश्चित नाम और मान वाला नया हेडर जोड़ता है |
| हेडर हटाएँ | नाम के अनुसार हेडर हटाता है |
| हेडर बदलें | मौजूदा हेडर का मान बदलता है |
| बॉडी बदलें | मिलान मान से बॉडी का एक हिस्सा बदलता है |
| पथ / क्वेरी / क्वेरी पैरामीटर | अनुरोध पथ या क्वेरी मान बदलता है |
| अनुरोध / प्रतिक्रिया पंक्ति | HTTP स्टार्ट लाइन का चुना गया भाग बदलता है |
| स्थिति कोड | प्रतिक्रिया की स्थिति बदलता है |
| रॉ संदेश | HTTP स्टार्ट लाइन, हेडर और बॉडी को एक साथ बदलता है |
| WebSocket पेलोड | क्लाइंट या सर्वर के संदेश की मेल खाने वाली सामग्री बदलता है |
| कार्यप्रवाह | चुनी गई सामग्री पर सक्षम रूपांतरण कार्यप्रवाह चलाता है |
मिलान मोड
शाब्दिक सटीक स्ट्रिंग से मिलान करता है। इसे निश्चित टोकन, हेडर नाम या विशेष मानों के लिए उपयोग करें।
रेगुलर एक्सप्रेशन नियमित अभिव्यक्ति से मिलान करता है। लक्ष्य बदलता हो तो इसका उपयोग करें; जैसे हर सत्र में बदलने वाले टोकन से मिलान या किसी समूह को कैप्चर करके प्रतिस्थापन में फिर से उपयोग करना।
रेगुलर एक्सप्रेशन प्रतिस्थापन में $1, $2 आदि कैप्चर समूहों से प्रतिस्थापन मान के भीतर मेल खाने वाले भागों का संदर्भ दें।
पूरी सामग्री बदलें मोड सबस्ट्रिंग खोजने के बजाय चुनी गई पूरी सामग्री ट्रांसफ़ॉर्म को देता है। कुछ ऑपरेशन, जैसे नाम वाले हेडर को जोड़ना या हटाना, इसके बजाय लिटरल नाम उपयोग करते हैं और सभी मोड नहीं देते।
पूरी प्रतिक्रिया बॉडी का रूपांतरण
- रूपांतरित करें कार्यप्रवाह बनाएँ और सक्षम करें, फिर परीक्षण इनपुट से सत्यापित करें।
- प्रतिक्रिया दिशा और कार्यप्रवाह (बॉडी) ऑपरेशन वाला मिलान और प्रतिस्थापन नियम बनाएँ।
- पूरी सामग्री बदलें मिलान मोड चुनें और कार्यप्रवाह चुनें।
- HTTPQL फ़िल्टर से नियम सीमित करें, उदाहरण:
text
req.host.eq:"cdn.example.com" AND (req.path.cont:".js" OR resp.headers["Content-Type"].value.cont:"javascript")कार्यप्रवाह पूरी बॉडी प्राप्त करता है; उसका आउटपुट उस बॉडी को बदल देता है। कार्यप्रवाह (हेडर) नाम वाले हेडर को बदलता है, जबकि कार्यप्रवाह (मूल हेडर) पूरे हेडर ब्लॉक को बदलता है। ये प्रतिक्रिया बॉडी से अलग इनपुट हैं।
HTTPQL फ़िल्टर उपलब्ध अनुरोध और प्रतिक्रिया संदर्भ में जाँचे जाते हैं। अनुरोध-दिशा का नियम ऐसी प्रतिक्रिया पर निर्भर नहीं हो सकता जो अभी आई ही नहीं है। नियम बहुत अधिक रन बनाता हो तो कार्यप्रवाह लॉगिंग अक्षम रखें; ट्रांसफ़ॉर्म की समस्या जाँचने के लिए इसे अस्थायी रूप से सक्षम करें।
नियमों का क्रम बदलना
सूची में स्थान बदलने के लिए नियम की पंक्ति खींचें। जब नियम एक ही अनुरोध या प्रतिक्रिया के ओवरलैप करने वाले हिस्से बदलते हैं, तब क्रम महत्वपूर्ण होता है।
AI सहायता
नियम संपादक में AI से भरें पर क्लिक करके साधारण भाषा में बताएँ कि क्या बदलना है। Ogma आपके विवरण के अनुसार नियम फ़ील्ड बनाता है। नियम सक्षम करने से पहले बनाए गए मान जाँचें और समायोजित करें।
प्रभावी निर्देशों के उदाहरण:
- "सभी प्रतिक्रियाओं से X-Frame-Options हेडर हटाएँ"
- "Authorization हेडर का मान मेरे परीक्षण टोकन से बदलें"
- "सभी अनुरोधों में X-Debug नाम और true मान वाला हेडर जोड़ें"
नियम का परीक्षण
लाइव ट्रैफ़िक पर नियम सक्षम करने से पहले नमूना अनुरोध से परीक्षण करें:
- नियम संपादक खोलें।
- परीक्षण करें पैनल में रॉ HTTP अनुरोध पेस्ट करें।
- नियम लागू करें पर क्लिक करें। पैनल परिणाम और लागू हुए नियम दिखाता है।
- पुष्टि करें कि आउटपुट अपेक्षा के अनुसार है।
- नियम सक्षम करें।
परीक्षण पैनल में स्थिति, हेडर और बॉडी इनपुट वाला प्रतिक्रिया लक्ष्य भी है। लागू नियमों की सूची जाँचें: यह लागू होने वाले नियमों का परीक्षण करता है, केवल संपादक के किसी अलग फ़ील्ड का नहीं।
मिलान और प्रतिस्थापन बनाम इंटरसेप्ट
मिलान और प्रतिस्थापन अपने आप चलता है। नियम सक्षम होने पर वह आपकी किसी कार्रवाई के बिना हर मेल खाने वाले अनुरोध या प्रतिक्रिया को बदलता है।
इंटरसेप्ट ट्रैफ़िक रोकता है और मैन्युअल निर्णय की प्रतीक्षा करता है। सही बदलाव ऐसे संदर्भ पर निर्भर हो जिसे प्रत्येक अनुरोध के लिए जाँचना हो, तो इंटरसेप्ट उपयोग करें। हर बार बिना समीक्षा वही ट्रांसफ़ॉर्म लागू करना हो, तो मिलान और प्रतिस्थापन उपयोग करें।
सामान्य उपयोग
- दूसरे खाते का परीक्षण करने के लिए सभी अनुरोधों में सत्र कुकी बदलना।
- डिबग या एडमिन मोड सक्षम करने वाला हेडर जोड़ना।
- क्लाइंट-स्तरीय व्यवहार जाँचने के लिए प्रतिक्रियाओं से सुरक्षा हेडर हटाना।
- रीडायरेक्ट प्रतिक्रियाओं में हार्डकोड किया हुआ होस्ट बदलना।
- अनुरोध पथ का प्रीफ़िक्स दोबारा लिखना।