قوانین آپاستریم چه کمکی میکند؟
قوانین آپاستریم به شما اجازه میدهد بر اساس مشخصات درخواست (مثل کشور، مسیر، هدر، IP، باتهای شناختهشده و …) تنظیمات CDN را در لحظهی دریافت همان درخواست تغییر بدهید؛ مهمترین کاربرد رایج آن انتخاب upstream متفاوت برای بخشی از ترافیک است (مثلاً هدایت کاربران غیرایرانی به یک upstream خارجی).
- ترتیب اجرا مهم است؛ درخواستها با هر قانون به ترتیب تعریفشده (از بالا به پایین) بررسی میشوند و اولین قانونی که شرایطش برقرار باشد، اعمال خواهد شد.
تفاوت «قوانین مسیر (لوکیشن)» و «قوانین آپاستریم» در چیست؟
یکی از ابهامات رایج در پیکربندی CDN، تداخل و تفکیک شرایط در این دو بخش است:
- قوانین مسیر (Location Rules): ساختار پایه و تنظیماتی مانند فعال/غیرفعال بودن کش، زمان کش (TTL)، بازنویسی مسیر (Rewrite)، هدرها و فایروال را برای مسیرهای مختلف وبسایت (مثلاً
/*یا/api/*) تعیین میکنند. هر قانون مسیر به یک آپاستریم پیشفرض وصل میشود. - قوانین آپاستریم (Upstream Rules): برای اعمال شرایط خاص و پویا (داینامیک) استفاده میشوند. این قوانین بدون نیاز به تغییر یا تعریف قوانین مسیر جدید، بر اساس ویژگیهای هر درخواست (مثل کشور مبدأ یا نوع بات)، آپاستریم پیشفرض را بازنویسی (Override) کرده و درخواست را به آپاستریم دیگری هدایت میکنند.
IMPORTANT
عدم نیاز به تعریف قانون مسیر (لوکیشن) مجزا: پس از تعریف قانون آپاستریم، ترافیک منطبق بر شروط بهطور خودکار به آپاستریم انتخابشده هدایت میشود. نیازی به ساخت یک قانون مسیر (لوکیشن) جداگانه برای این آپاستریم جدید نیست و انجام این کار اغلب باعث تداخل و بروز اختلال در مسیریابی ترافیک میشود.
شروع به کار با قوانین آپاستریم
برای استفاده از این قابلیت، وارد بخش «قوانین آپاستریم» در پنل شوید. روی گزینه «افزودن قانون آپاستریم» کلیک کنید.

برای تنظیم قانون جدید، مراحل زیر را دنبال کنید:
۱. نام قانون: یک نام برای قانون جدید انتخاب کنید.
۲. انتخاب آپاستریم: آپاستریم مورد نظر خود را از لیستِ سرورهایی که پیشتر در بخش «سرورهای آپاستریم» ثبت کردهاید، انتخاب نمایید.
۳. تعیین شروط: با استفاده از پارامترهای موجود، شرایط اعمال این آپاستریم را مشخص کنید.
مثال: اگر کشور مبدأ درخواست، ایران نباشد، این درخواستها (پس از تطابق با قوانین مسیر موجود و مستقل از آپاستریم تنظیمشده برای آنها) به آپاستریمی که در این بخش انتخاب کردهاید، ارسال خواهند شد.

سناریوی کاربردی: هدایت Googlebot به هاست ایران و سایر کاربران خارجی به هاست خارج
یکی از سناریوهای پرکاربرد به دلیل ناپایداری ارتباطات بینالمللی با دیتاسنترهای ایران، تفکیک ترافیک موتورهای جستجو از کاربران عادی است. اگر میخواهید کاربران خارج از کشور به یک هاست خارجی (یا پروکسی) هدایت شوند اما خزندههای گوگل (Googlebot) به صورت مستقیم به سرور ایران متصل شوند تا محتوای بهروز را با کمترین تاخیر (Latency) دریافت کنند، مراحل زیر را انجام دهید:
۱. فعالسازی قابلیت «بهبود سئو (Improved SEO)» روی آپاستریم ایران
برای اینکه خزندههای گوگل بتوانند با وجود محدودیتهای ارتباطی، به سرور داخل ایران شما دسترسی داشته باشند:
- به بخش «سرورهای آپاستریم» در پنل بروید.
- آپاستریم مربوط به سرور ایران خود را ویرایش کنید.
- در بخش تنظیمات پیشرفته، گزینه «بهبود سئو (Improved SEO)» را فعال و ذخیره کنید. (برای اطلاعات بیشتر، راهنمای سرورهای آپاستریم را مطالعه فرمایید.)
۲. تعریف قوانین آپاستریم با رعایت ترتیب اولویت
به بخش «قوانین آپاستریم» رفته و دو قانون زیر را ایجاد کنید. ترتیب قرارگیری این دو قانون در لیست بسیار مهم است:
- قانون اول (اولویت بالاتر - قرارگیری در بالای لیست): هدایت گوگلبات به هاست ایران
- آپاستریم هدف: آپاستریم ایران (مثلاً
Iran-Upstream) - شروط اعمال:
- باتهای شناختهشده (Known Bots): برابر با
Googlebot(یا باتهای جستجوگر مورد نظر) - مسیر (Path - اختیاری): اگر میخواهید این قانون فقط روی بخشهای خاصی از سایت (مثل شاخه بلاگ
/blog/*یا اخبار/news/*) اعمال شود، آن را وارد کنید. در غیر این صورت فیلد مسیر را خالی بگذارید تا کل سایت را شامل شود.
- باتهای شناختهشده (Known Bots): برابر با
- آپاستریم هدف: آپاستریم ایران (مثلاً
- قانون دوم (اولویت پایینتر - قرارگیری در زیر قانون اول): هدایت سایر کاربران خارجی به هاست خارج
- آپاستریم هدف: آپاستریم خارج از کشور (مثلاً
Foreign-Upstream) - شروط اعمال:
- کشور (Country): مخالف است با
IR(ایران)
- کشور (Country): مخالف است با
- آپاستریم هدف: آپاستریم خارج از کشور (مثلاً
WARNING
چرا اولویت قانون گوگلبات باید بالاتر باشد؟ از آنجا که خزندههای گوگل (Googlebot) نیز درخواستهای خود را از خارج از ایران (مثلاً آمریکا) ارسال میکنند، اگر قانون مربوط به کشور خارج (
Country != IR) در ردیف بالاتری قرار گیرد، درخواست گوگلبات بلافاصله با آن مطابقت یافته و به هاست خارج هدایت میشود و قانون مربوط به گوگلبات هرگز اجرا نخواهد شد. بنابراین همیشه قوانین خاصتر (مانند باتهای شناختهشده) را بالاتر از قوانین عمومیتر (مانند کشور یا IP) قرار دهید.
چگونه وضعیت دسترسی و ریسپانس تایم گوگلبات را بررسی (Track) کنیم؟
برای اینکه مطمئن شوید گوگلبات پس از اعمال قوانین به درستی به هاست ایران متصل میشود و زمان پاسخدهی (Latency) آن کاهش یافته است، میتوانید از ابزار لاگ لحظهای (Instant Log) ستون استفاده کنید:
۱. به بخش «لاگ لحظهای» در پنل CDN بروید.
۲. بر روی دکمه «شروع دریافت لاگ با فیلتر» کلیک کنید.
۳. فیلتری بر اساس User-Agent حاوی عبارت Googlebot تعریف کنید.
۴. درخواستهای گوگلبات را در جدول لاگها بررسی کنید:
- فیلد
upstream_nameباید نام آپاستریم ایران شما را نشان دهد. - فیلد
upstream_statusباید کد وضعیت موفق (معمولاً200) باشد. - فیلد
upstream_response_timeنشاندهنده لیتنسی و سرعت پاسخدهی سرور ایران به گوگلبات است. کاهش این مقدار نسبت به مسیر پروکسی، بهبود سرعت و موفقیتآمیز بودن تنظیمات را تایید میکند.
(برای آشنایی کامل با نحوه فیلتر و مشاهده جزئیات لاگها، مستند لاگ لحظهای را مطالعه کنید.)
