قوانین صفحات
شما برای استفاده از CDN آروان، کافی است دامنهی مورد نظر را در پنل ثبت و نماد ابر رکورد آن را روشن کنید، سپس سامانه بهشکل خودکار تنظیمات پیشفرض را برای همهی زیردامنهها اعمال خواهد کرد، برای نمونه فایلهای استاتیک شما Cache خواهند شد.
حال چنانچه مایل باشید رفتار پیشفرض CDN را تغییر دهید (برای نمونه فایل خاصی Cache نشود یا هدر خاصی نادیده گرفته شود)، نیاز است که در قسمت «قوانین صفحات» برای صفحهی مورد نظر، قانون بسازید.
برای ساخ ت و مدیریت قوانین صفحات از منوی محصولات، «شبکه توزیع محتوا» را انتخاب، سپس روی «قوانین صفحات» کلیک کنید.
همانطور که در تصویر مشخص است، یک قانون پیشفرض وجود دارد که تمامی درخواستهای دامنهی اصلی و Subdomainها با همین قانون همخوان (Match) میشوند و طبق همین قانون تنظیمات Caching ،WAF،Firewall و ... روی درخواستهای این دامنه اعمال میشود.
قانونها باید با الگوی scheme://hostname/path ساخته شوند، برای نمونه:
نکتهی مهم راجعبه قوانین صفحات این است که یک درخواست، فقط با یک قانون (نخستین قانونی که با الگو همخوانی دارد) همخوان میشود و همهی تنظیمات مورد نظر باید در همان قانون قرار گیرد. ترتیب بررسی قوانین از بالا به پایین است.
حالا فرض کنید که یک وبسایت روی نشانی dev.test.com وجود دارد و شما میخواهید Caching را روی نشانی /static/ وبسایت غیرفعال کنید تا بتوانید تغییرات فایلهای استاتیک را بهشکل آنی مشاهده کنید.
برای این کار باید قانونی بهشکل زیر بسازید:
توجه کنید که برای Wildcard، باید از * استفاده کرد تا هر درخواستی که با /dev.test.com/static شروع شده باشد با این قانون همخوان شود.
درنهایت صفحهی قوانین صفحات شما بهشکل زیر خواهد بود:
استفاده از عبارات باقاعده (Regular Expression) در تعریف قوانین
اگر قصد تطابق کاراکترهای خاص (حروف و اعداد) با یک قانون را دارید میتوانید از کروشه [] استفاده کنید.
نمونه ۱: تصور کنید هدف تعریف قانونی است که همزمان هردو URL زیر را شامل شود:
https: //www .example.com/fa
https: //www .example.com/Fa
برای این منظور در بخش نشانی هنگام تعریف یک قانون جدید، قانونی بهشکل زیر تعریف میشود:
https: //example.com/[fF]a/*
نمونه ۲: تصور کنید هدف تنظیم قانونی است که با URLای همانند زیر که در آن عدد به کار رفته مطابقت یابد:
https: //example.com/users/2xxxx
برای این منظور از قانونی مانند زیر استفاده میشود:
https: //example.com/users/[0-9]*
نمونه ۳: تصور کنید هدف تعریف قانونی است که با تمام صفحاتی که با حروف کوچک در بازهی a-z آغاز میشوند، مطابقت یابد برای این منظور میتوان از قانونی همانند زیر استفاده کرد:
https: //example.com/[a-z]/*
دقت داشته باشید که اگر همزمان با تعریف قانون بالا، قصد دارید تا تمام صفحاتی که با حروف بزرگ در بازهی A-Z شروع میشوند نیز مطابقت یابند، باید قانون جدیدی برای این منظور علاوه بر قانون بالا تعریف کرده و داخل کروشه به جای a-z، عبارت A-Z را قرار دهید.
دقت داشته باشید که قوانین به حروف کوچک و بزرگ حساس هستند.
اگر در ابتدای قانونی http یا https قید نشود، قانون بهشکل پیشفرض با هردو URLهای HTTP و HTTPS مطابقت مییابد. برای مثال:
www .example.com/*
اگر قصد دارید قانونی فقط روی صفحهی نخست شما اعمال شود باید قانون را بهشکل زیر تعریف کنید:
www .example.com/
در قوانین صفحات، امکانات زیر وجود دارد:
-
تنظیمات Caching
- مشخص کردن زمان Cache فایلها در شبکهی CDN
- مشخص کردن زمان Cache در Browser
- Cache کردن صفحات دارای set cookie (مناسب برای صفحات HTML)
-
شتابدهی وب
چنانچه محتوای وبسایت نیاز به شتابدهی داشته باشد، در این قسمت میتوانید شتابدهی را فعال کنید.
توجه کنید که امکان فعالسازی شتابدهی فقط برای فایلهای Static مانند css ،js ،jpg ،png و gif وجود دارد. (محتواهایی که امکان خلاصهسازی و minify کردن آنها وجود دارد)
- تنظیمات امنیتی
- دیواره آتش وب: چنانچه این ویژگی فعال شود، تنظیماتی که در قسمت WAF انجام شده است روی این قانون نیز اعمال میشود.
- وضعیت DDoS: با فعال کردن این گزینه، این قانون از تنظیمات DDoS کلی پیروی خواهد کرد.
- تنظیمات فایروال: شما میتوانید بهازای هر قانون، سطح دسترسی را بهازای کشور یا IP تعیین کنید.
- تنظیمات Proxy
- ارسال به Cluster: با استفاده از این امکان، میتوانید برای یک قانون خاص از Origin متفاوتی از آنچه در DNS تعریف شده است، استفاده کنید. (برای این کار نیاز است دست کم یک کلاستر در قسمت توزیع بار وجود داشته باشد).
- تنظیمات Header: در برخی موارد نیاز است Header خاصی به سرور شما ارسال شود (مانند Host Header). همچنین در برخی موارد، نیاز است به کاربر Header جدیدی ارسال شود (مانند allow-access-origin) یا Header که سرور شما ارسال کرده از کاربر مخفی بماند. تمامی این موارد را میتوانید در بخش تنظیمات Header اعمال کنید.
- سایر تنظیمات
- ریدایرکت: شما میتوانید با status codeهای ۳۰۱، ۳۰۲ و ۳۰۷ درخواستهای مورد نظر را Redirect کنید.
- لینک امن: چنانچه دسترسی برای یک دامنه یا URL خاص باید برای کاربر با IP خاص و زمان خاص محدود شود، میتوانید از این قابلیت استفاده کنید.
پاک کردن Cache قوانین صفحات
به کمک این قابلیت از CDN ابر آروان، میتوانید Cache مربوط به یک قانون صفحهی مشخص را پاک کنید. به این ترتیب، این Purge تنها شامل Cache فایلهایی میشود که بهدلیل وجود آن قانون صفحه Cache شدهاند و تغییری در سایر فایلهای مربوط به سایت، زیردامنه یا دیگر قوانین صفحه اعمال نمیشود.
برای پاک کردن Cache یک قانون صفحه، باید در بخش محصول CDN پنل کاربری ابر آروان، وارد بخش قوانین صفحات شوید. در ادامه با انتخاب گزینهی پاکسازی Cache و تایید آن، Cache قانون انتخاب شده پاک خواهد شد.
این قابلیت تنها برای پلن حرفهای و سازمانی CDN فعال است و برای استفاده از آن باید سرویس خود را ارتقا دهید.
Redirect با استفاده از متغیرها
با استفاده از تنظیمات قوانین صفحهی CDN ابر آروان میتوان در هدایت خودکار درخواستهای کاربران از یک دامنه به دامنهی دیگر که بهوسیلهی کدهای ۳۰۱، ۳۰۲ و ۳۰۷ انجام میشود، تنظیماتی پیشرفته اعمال کرد. به کمک متغیرها، که بهشکل نامحدود روی آدرسها قابل اعمال هستند، آدرسدهی به مقصد یک درخواست بهسادگی و با انعطاف بیشتری قابل انجام است. برای اطلاع از شیوهی انجام این تنظیمات از راهنمای ریدایرکت استفاده کنید.
تنظیمات Timeout
به کمک تنظیمات Timeout که بهشکل یک قانون قابل تعریف است، میتوانید مدت زمانی که برای دریافت Timeout در ارتباط بین سرورهای لبهی CDN ابر آروا ن و سرور اصلی بهشکل پیشفرض وجود دارد را تغییر دهید. با استفاده از این قابلیت، امکان تغییر بازهی دریافت پیام Timeout در سه زمان مختلف را خواهید داشت:
- اتصال سرورهای لبهی CDN به سرور اصلی وبسایت (Connection Timeout)
- انتظار برای دریافت پاسخ به درخواست ارسالشده برای سرور اصلی (Read Timeout)
- نوشتن اطلاعات در سرور اصلی (Write Timeout)
برای اینکار، کافی است در بخش قوانین صفحات پنل کاربری ابر آروان یک قانون جدید تعریف کنید و پس از ورود نشانی و اولویت، از بین تنظیمات موجود گزینهی تنظیم Timeout را انتخاب کنید. سپس، بازهی موردنظر خود را برای هریک از موارد Read Timeout ،Connection Timeout و Write Timeout برحسب ثانیه وارد کنید و در انتها روی گزینهی افزودن قانون کلیک کنید.
در نظر داشته باشید که قابلیت تنظیم Timeout در پلن حرفهای و سازمانی در دسترس است و برای استفاده از آن باید این پلن روی حساب کاربری شما فعال باشد.