قوانین صفحات
شما برای استفاده از 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 اطلاعات در مرورگر
-
اعمال کش خاموش یا روشن و تنظیمات آن
-
نادیده گرفتن Vary
هدر Vary در پاسخهای HTTP به سرور بیان میکند که محتوای ارسالی ممکن است بر اساس یک یا چند هدر درخواستی از سمت کلاینت متفاوت باشد. این هدر به مرورگرها و سیستمهای کش کمک میکند تا نسخههای صحیح یک منبع را کش کنند.
برای مثال، اگر سروری یک صفحهی وب را هم به زبان فارسی و هم به زبان انگلیسی ارایه دهد، با ارسال هدر Vary: Accept-Language به کش میفهماند که برای کش کردن این صفحه، باید هدر Accept-Language در درخواست کلاینت را نیز در نظر بگیرد. این کار از نمایش محتوای اشتباه (مثلن نمایش نسخه انگلیسی به کاربر فارسیزبان) جلوگیری میکند و به سیستمهای کش اجازه میدهد نسخههای مختلف یک منبع را به درستی مدیریت کنند.
شما می توانید در تنظیمات کش هدر
vary
را نادیده بگیرید تا ورژن های متفاوتی کش نشود. -
کش بر اساس نوع دستگاه
با فعال کردن این قابلیت، برای موبایل و دسکتاپ نسخههای متفاوتی روی CDN کش خواهد شد. این کار معادل عبارت vary: user-agent است.
شتابدهی وب
چنانچه محتوای وبسایت نیاز به شتابدهی داشته باشد، در این قسمت میتوانید شتابدهی را فعال کنید.
توجه کنید که امکان فعالسازی شتابدهی فقط برای فایلهای Static مانند css ،js ،jpg ،png و gif وجود دارد. (محتواهایی که امکان خلاصهسازی و minify کردن آنها وجود دارد)
تغییر اندازه تصاویر
سرور CDN تصاویر را با مناسبترین ابعاد به بازدیدکننده نمایش میدهد و بار اضافه را از روی سرور شما برمید ارد.
تنظیمات Proxy
-
ارسال به توزیع بار
با استفاده از این امکان، میتوانید برای یک قانون خاص از Origin متفاوتی از آنچه در DNS تعریف شده است، استفاده کنید. (برای این کار نیاز است دست کم یک کلاستر در قسمت توزیع بار وجود داشته باشد).
-
تنظیمات Header
- Host Header دلخواه: از این قسمت می توانید یک Header دلخواه تنظیم کنید.
- Header ارسالی به کاربر: از این قسمت میتوانید تعیین کنید که به کاربر Header جدیدی ارسال شود (مانند allow-access-origin)
- Header ارسالی به origin: در این بخش میتوانید Header خاصی را به سرور اصلیتان ارسال کنید (مانند Host Header)
- نادیدهگرفتن Header ارسالی به کاربر: از این قسمت میتوانید تعیین کنید که Headerای که سرور شما ارسال کرده از دید کاربر مخفی بماند.
-
بازنویسی مسیر (URL Rewrite)
عملیات سمت سروری که URL مبدا را به URL دیگری تبدیل میکند. این عملیات قبل از اینکه وبسرور بهطور کامل یک درخواست را پردازش کند رخ میدهد. بازنویسی مسیر برای بازدیدکنندگان وبسایت قابل مشاهده نیست، زیرا URL نمایش داده شده در مرورگر تغییر نمیکند.
سایر تنظیمات
-
انتقال نشانی
شما میتوانید با status codeهای ۳۰۱، ۳۰۲ و ۳۰۷ درخواستهای مورد نظر را Redirect کنید.
-
ارسال ترافیک به پردازش لبه
با استفاده از این تنظیم میتوانید ترافیک را به یکی از اپلیکیشن های پردازش لبه خود ارسال کنید.
-
لینک امن
چنانچه دسترسی برای یک دامنه یا URL خاص باید برای کاربر با IP خاص و زمان خاص محدود شود، میتوانید از این قابلیت استفاده کنید.
پاک کردن Cache قوانین صفحات
به کمک این قابلیت از CDN ابر آروان، میتوانید Cache مربوط به یک قانون صفحهی مشخص را پاک کنید. به این ترتیب، این Purge تنها شامل Cache فایلهایی میشود که بهدلیل وجود آن قانون صفحه Cache شدهاند و تغییری در سایر فایلهای مربوط به سایت، زیردامنه یا دیگر قوانین صفحه اعمال نمیشود.
برای پاک کردن Cache یک قانون صفحه، باید در بخش محصول CDN پنل کاربری ابر آروان، وارد بخش قوانین صفحات شوید. در ادامه با انتخاب گزینهی پاکسازی Cache و تایید آن، Cache قانون انتخاب شده پاک خواهد شد.
این قابلیت تنها برای پلن حرفهای و سازمانی CDN فعال است و برای استفاده از آن باید سرویس خود را ارتقا دهید.
انتقال نشانی با استفاده از متغیرها
با استفاده از تنظیمات قوانین صفحهی CDN ابر آروان میتوان در هدایت خودکار درخواستهای کاربران از یک دامنه به دامنهی دیگر که بهوسیلهی کدهای ۳۰۱، ۳۰۲ و ۳۰۷ انجام میشود، تنظیماتی پیشرفته اعمال کرد. به کمک متغیرها، که بهشکل نامحدود روی آدرسها قابل اعمال هستند، آدرسدهی به مقصد یک درخواست بهسادگی و با انعطاف بیشتری قابل انجام است. برای اطلاع از شیوهی انجام این تنظیمات از راهنمای ریدایرکت استفاده کنید.
تنظیمات Timeout
به کمک تنظیمات Timeout که بهشکل یک قانون قابل تعریف است، میتوانید مدت زمانی که برای دریافت Timeout در ارتباط بین سرورهای لبهی CDN ابر آروان و سرور اصلی بهشکل پیشفرض وجود دارد را تغییر دهید. با استفاده از این قابلیت، امکان تغییر بازهی دریافت پیام Timeout در سه زمان مختلف را خواهید داشت:
- اتصال سرورهای لبهی CDN به سرور اصلی وبسایت (Connection Timeout)
- انتظار برای دریافت پاسخ به درخواست ارسالشده برای سرور اصلی (Read Timeout)
- نوشتن اطلاعات در سرور اصلی (Write Timeout)
برای اینکار، کافی است در بخش قوانین صفحات پنل کاربری ابر آروان یک قانون جدید تعریف کنید و پس از ورود نشانی و اولویت، از بین تنظیمات موجود گزینهی تنظیم Timeout را انتخاب کنید. سپس، بازهی موردنظر خود را برای هریک از موارد Read Timeout ،Connection Timeout و Write Timeout برحسب ثانیه وارد کنید و در انتها روی گزینهی افزودن قانون کلیک کنید.
در نظر داشته باشید که قابلیت تنظیم Timeout در پلن حرفهای و سازمانی در دسترس است و برای استفاده از آن باید این پلن روی حساب ک اربری شما فعال باشد.
اعمال تنظیمات Cache از سمت سرور اصلی
در استفاده از شبکه توزیع محتوا، با توجه به قرار داشتن تعدادی سرور Cache میان مرورگر درخواستدهنده و سرور اصلی وبسایت، پاسخ به درخواستهای کاربران بهوسیلهی این سرورها انجام میشود. به همین دلیل، ممکن است نیاز داشته باشید تنظیمات مربوط به Caching را از سمت سرور اصلی وبسایت مشخص کنید تا نسخههای محتوای ارایهشده به کاربر بهشکل بهتری مدیریت شوند. برای مثال، مدت زمان بهروزرسانی کش یا Revalidate شدن یک فایل را تغییر دهید یا تعیین کنید تعدادی از فایلهای قرار داده شده روی سرور اصلی، روی سرورهای لبهی CDN کش نشوند. با استفاده از قابلیت Origin Cache Control سرویس CDN ابر آروان، میتوانید بخش مهمی از تنظیمات مربوط به Cache شدن محتوا را از سرور اصلی وبسایت خود مدیریت کنید و به این شکل، انعطاف بیشتری روی محتوای خود داشته باشید.
شیوه کار قابلیت Origin Cache Control
در حالت معمول، CDN ابر آروان برای Cache کردن محتوای وبسایت درخواستی را برای سرور اصلی وبسایت ارسال میکند. سرور اصلی پاسخی را بهشکل HTTP ارسال میکند که پارامترهای مربوط به Cache شدن محتوا را نشان میدهد. با استفاده از قابلیت اعمال تنظیمات Cache از سمت سرور اصلی، در این پاسخ هدر Cache-control اضافه میشود که دستورهایی دقیقتر را به سرورهای لبهی CDN دربارهی هر محتوا خواهد داد. این پارامترها میتوانند مشخص کنند که Cache محتوا برای چه مدت زمانی معتبر خواهد بود یا Cache برای چه نوع درخواستهایی انجام شود.
انواع هدر Cache-control
اطلاعات قرار گرفته در هدر Cache-control که بهوسیلهی قابلیت Origin Cache Control قابل درک هستند، پارامترهای مختلفی را نشان خواهند داد. وجود پارامترهای زیر نشاندهندهی شیوهی Cache شدن منابع خواهد بود:
-
Max-age: اجازه خواهد داد که زمان انقضای Cache از سمت سرور اصلی مشخص شود. به این ترتیب، پس از اتمام زمان مشخص شده، که به ثانیه است، سرورهای لبه مجددن درخواست Validate شدن Cache را ارسال خواهند کرد.
-
Public: با وجود این پارامتر در هدر یک پاسخ، محتوا بدون توجه به دستورهای قبلی برای همهی درخواستها کش میشود، حتا اگر محتوا از نوع غیرقابل کش باشد.
-
Private: اگر این پارامتر در هدر وجود داشته باشد، محتوا بهوسیلهی سرورهای لبه کش نخواهد شد و مقصد پاسخ، یک درخواست مشخص است. به این ترتیب، عمل کش شدن فقط در مرورگر اتفاق خواهد افتاد.
-
No-cache: محتوا روی سرورها ذخیره میشود، اما به ازای هر درخواست، باید مراحل Validate شدن بهشکل کامل طی شود.
-
No-store: محتوا در هیچ نقطهای کش نخواهد شد و برای هر درخواست باید مراحل ارسال و دریافت محتوا بهشکل کامل از سوی درخواستدهنده به سمت سرور اصلی و برعکس طی شود.
-
Min-uses: مشخص میکند که پس از تعداد مشخصی درخواست برای یک محتوا، سرورهای لبه آن را کش کنند.
-
S-max: سرورهای لبه، زمان انقضای مشخصشده بهوسیلهی max-age را به زمان مشخص شده در این پارامتر تغییر میدهند.
-
Must-revalidate: محتوایی که این پارامتر را در هدر پاسخ خود دارد، باید به ازای هر درخواست یک بار از طریق سرور اصلی Validate شود.
بهعنوان نمونه با وجود پارامترهایی مانند زیر در هدر یک بستهی HTTP پاسخ، سرورهای لبه متوجه خواهند شد که این محتوا باید روی تمام سرورها ذخیره شود و پس از ۳۶۰۰۰ ثانیه، مجددن درخواست Validate شدن آن ارسال شود.
Control-Cache: public, max-age=36000
شیوه فعالسازی قابلیت Origin Cache Control
برای فعالسازی قابلیت اعمال تنظیمات Cache از سمت سرور اصلی، کافی است وارد پنل کاربری ابر آروان، محصول CDN و بخش قوانین صفحات شوید. در ادامه با تعریف قانون صفحه به ازای یک نشانی خاص یا کل دامنه، میتوانید قابلیت کنترل کش را فعال کنید.
در نظر داشته باشید، قابلیت کنترل کش از امکانات پلن حرفهای CDN آروان است و اگر از سایر پلنها استفاده میکنید، برای استفاده از Origin Cache Control باید پلن محصول خود را ارتقا دهید.