تطبیق و جایگزینی
تطبیق و جایگزینی، ترافیک را هنگام عبور از پراکسی بهصورت خودکار تغییر میدهد، بدون توقف یا نیاز به اقدام دستی برای هر درخواست.
نحوهٔ کار قواعد
هر قاعده مشخص میکند چه چیزی جستوجو شود و چه عملی روی آن انجام شود. وقتی درخواست یا پاسخ با شرایط تطبیق داشته باشد، قاعده بلافاصله تبدیل خود را اعمال میکند.
قواعد به ترتیب نمایش در فهرست اعمال میشوند. اگر دو قاعده یک سرآیند را هدف بگیرند، نخستین قاعدهٔ منطبق ابتدا اعمال میشود و قواعد بعدی نتیجهٔ آن تغییر را میبینند.
فیلدهای قاعده
| فیلد | توضیحات |
|---|---|
| نام | برچسب قاعده. برای شناسایی هدف آن از نامی توصیفی استفاده کنید. |
| جهت | اعمال قاعده بر درخواستها، پاسخها یا هر دو |
| عملیات | تبدیل موردنظر؛ جدول عملیات زیر را ببینید |
| حالت تطبیق | متن ثابت، عبارت منظم یا محتوای کامل، بسته به عملیات |
| مقدار تطبیق | رشته یا الگویی که باید پیدا شود |
| مقدار جایگزین | مقداری که جایگزین میشود |
| فعال | کلید فعال یا غیرفعالکردن قاعده بدون حذف آن |
| فیلترها | شرایط اختیاری روش، میزبان، مسیر و 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 در بافت درخواست و پاسخ موجود بررسی میشوند. قاعدهٔ جهت درخواست نمیتواند به پاسخی وابسته باشد که هنوز نرسیده است. وقتی قاعده تعداد زیادی اجرا تولید میکند، ثبت گزارش گردش کار را غیرفعال کنید؛ برای عیبیابی تبدیل، آن را موقتاً فعال کنید.
تغییر ترتیب قواعد
ردیف قاعده را بکشید تا جای آن در فهرست تغییر کند. وقتی قواعد بخشهای همپوشان یک درخواست یا پاسخ را تغییر میدهند، ترتیب مهم است.
دستیار هوش مصنوعی
در ویرایشگر قاعده روی پر کردن با هوش مصنوعی کلیک کنید و تغییر موردنظر را به زبان طبیعی توضیح دهید. Ogma فیلدهای قاعده را از توضیح شما تولید میکند. پیش از فعالکردن قاعده، مقادیر تولیدشده را بررسی و تنظیم کنید.
نمونهٔ دستورهای مناسب:
- «سرآیند X-Frame-Options را از همهٔ پاسخها حذف کن»
- «مقدار سرآیند Authorization را با توکن آزمون من جایگزین کن»
- «سرآیندی با نام X-Debug و مقدار true به همهٔ درخواستها اضافه کن»
آزمودن قاعده
پیش از فعالکردن قاعده برای ترافیک زنده، آن را با یک درخواست نمونه آزمایش کنید:
- ویرایشگر قاعده را باز کنید.
- درخواست HTTP خام را در پنل آزمون بچسبانید.
- روی اعمال قواعد کلیک کنید. پنل نتیجه و قواعد اعمالشده را نشان میدهد.
- بررسی کنید خروجی با انتظار شما تطبیق دارد.
- قاعده را فعال کنید.
پنل آزمون هدف پاسخ با ورودیهای وضعیت، سرآیندها و بدنه نیز دارد. فهرست قواعد اعمالشده را بررسی کنید: این کار قواعد قابل اعمال را میآزماید، نه فقط یک فیلد جداگانهٔ ویرایشگر را.
تطبیق و جایگزینی در برابر رهگیری
تطبیق و جایگزینی خودکار است. پس از فعالشدن قاعده، هر درخواست یا پاسخ منطبق را بدون اقدامی از شما تبدیل میکند.
رهگیری ترافیک را متوقف میکند و منتظر تصمیم دستی میماند. وقتی تغییر درست به بافتی وابسته است که باید برای هر درخواست ارزیابی کنید، از رهگیری استفاده کنید. وقتی تبدیل یکسان باید هر بار بدون بررسی اعمال شود، از تطبیق و جایگزینی استفاده کنید.
کاربردهای رایج
- جابهجایی کوکی نشست در همهٔ درخواستها برای آزمودن حساب دیگر.
- افزودن سرآیندی که حالت اشکالزدایی یا مدیریت را فعال میکند.
- حذف سرآیندهای امنیتی از پاسخها برای ارزیابی رفتار سمت کلاینت.
- جایگزینی میزبان ثابت در پاسخهای تغییرمسیر.
- بازنویسی پیشوند مسیر درخواست.