سرفصل های مهم

قوانین صفحات


در حالت پیش فرض پس از اتصال دامنه به CDN میزبان کلود، و با فعال بودن آیکن ابر مقابل رکوردها، تنظیماتی از پیش تعریف شده بر روی تمام صفحات شما و زیردامنه ها اعمال خواهند شد. اما اگر بخواهید برای صفحات خاصی، رفتار متفاوتی را از CDN و زیرساخت های امنیتی درخواست کنید، کافیست به بخش "قوانین صفحات" در زیر منوی CDN ابری مراجعه کنید.

پس از ورود به صفحه "قوانین صفحات" برای افزودن page rule ابتدا روی دکمه "ایجاد مسیر" کلیک کنید.

دقت داشته باشید که دامنه انتخابی شما همان دامنه ای باشد که می خواهید قانونی برای یکی از صفحات آن تعریف کنید. اگر مایلید برای ساب دامنه ای قانون تعریف کنید نیز باید ابتدا از منوی دامنه ها (dropdown)، زیردامنه مورد نظر را انتخاب کنید.

پس از انتخاب دامنه یا زیر دامنه مورد نظر، باید بعد از "/" مسیر یا path صفحه را وارد کنید.

در خصوص اولویت، اگر برای مثال دو قانون برای یک صفحه یکسان تعیین کرده باشید، ابتدا قانونی بررسی خواهد شد که اولویت بالاتری داشته باشد.

پس از اضافه کردن صفحه، باید قانون مدنظر خود را برای آن تنظیم کنید.

پس مقابل آدرس صفحه، روی آیکن + برای افزودن قانون کلیک کنید.

در ادامه به برخی از قوانینی که می توانید برای صفحات تنظیم کنید، اشاره خواهیم کرد:

مدت زمان اعتبار کش مرورگر (Browser Cache TTL)

زمانی که یک کاربر نهایی از سایتی بازدید می کند، مرورگر آن کاربر محتوای استاتیک سایت را دانلود کرده تا بتواند به کاربر نمایش دهد. این محتوا برای مدت معینی در کش لوکال مرورگر ذخیره می شود که این مدت با مقدار "max-age" در هدر cache-control سرور اصلی مشخص می شود.

زمانی که به max-age رسد، محتوا از کش لوکال مرورگر پاک شده و باید برای مراجعه بعدی کاربر به سایت، مجدداً نسخه جدید از سرور اصلی یا CDN دریافت شود.

فرض کنید که برای برخی از Asset های کش شده از قبل توسط سرور اصلی زمان انقضایی تعیین نشده باشد، در این صورت Browser cache TTL به شما این امکان را می دهد تا برای مرورگر یک زمان انقضای کش تعریف کنید.

به عبارت دیگر به کمک این قانون در تنظیمات "page rule" می توانید تعیین کنید که منابع سایت یا صفحه مورد نظر شما تا چه زمان در کش مرورگر کاربر باقی بمانند.

برای اینکار کافیست در پنل میزبان کلود، مقابل آدرس صفحه بر روی آیکن + جهت افزودن قانون کلیک کنید، و زیر افزودن قانون گزینه Browser cache TTL را انتخاب کنید.

سپس مدت زمان کش مرورگر مورد نظر را تعیین کنید (برای مثال 4 ساعت).

سطوح کش (Cache level)

همانطور که در تنظیمات کشینگ اشاره کردیم، سطوح کش در CDN میزبان کلود به سه دسته تقسیم می شوند:

برای مثال در صورتی که سطح "بدون کوئری استرینگ" را برای یک صفحه تعیین کنید، در هر دو حالت زیر یک نوع محتوای کش برای کاربر ارسال خواهد شد:

1/yourwebsite.com/page1/pic.jpg?x=123

2/yourwebsite.com/page1/pic.jpg?x=456

مدت زمان اعتبار کش سرورهای لبه (Edge Cache TTL)

قانون Edge Cache TTL به شما این امکان را می دهد تا مدت زمان کش Asset های سایت تان بر روی سرورهای CDN میزبان کلود را کنترل و مدیریت کنید. 

در صورتی که محتوایی روی سرورهای لبه CDN کش شده باشد، در کمترین زمان ممکن از نزدیک ترین سرور دریافت شده و در دسترس کاربر قرار خواهد گرفت.

بسته به عملکرد سایت و دوره های بروزرسانی محتوای صفحات تان می توانید قانونی تعریف کنید که نسخه های کش از یک صفحه خاص، تا چه زمانی در سرورهای Edge یا لبه میزبان کلود، اعتبار داشته باشند. پس از رسیدن به max-age سرورهای CDN باید نسخه جدید محتوا را از سرور اصلی دریافت کرده و آن را ذخیره کنند.

برای اینکار کافیست در بخش افزودن قانون Edge Cache TTL را انتخاب کرده و متناسب با نیاز خود، مدت زمانی را تعیین کنید.

افزودن هدر به کلاینت و سرور (Add header to client/Server)

هدرهای HTTP Response بخشی هستند که به پیام های پاسخ یا response اضافه می شوند. این هدرها را می توان در Response های ارسالی از سرور اصلی به سرورهای CDN و از سرورهای CDN به مرورگر کاربر اضافه کرد. 

برای اضافه کردن هدر مورد نظر از سرورهای CDN به سمت کلاینت، می توانید در پنل میزبان کلود افزودن قانون را بر روی Add header to client قرار داده و دو پارامتر key و value را تکمیل کنید.

منظور از key عنوان هدر مورد نظر شماست؛ برای مثال Cache-Control مشخص کننده سیاست کشینگ مورد استفاده در درخواست ها و پاسخ های کلاینت است. منظور از value نیز مقداری است که می خواهید برای آن هدر تعیین کنید. به عنوان مثال می توانید value را برای Cache-control مساوی با no-cache قرار دهید.

کاربرد این قانون زمانی است که بخواهید یک هدر شخصی سازی شده به پاسخ ها اضافه کنید؛ چراکه اکثر هدرهای استاندارد توسط CDN میزبان کلود و با تنظیمات دیگر شما به طور پیش فرض درج خواهند شد.

تنظیمات برای اضافه کردن هدرهای خاص به سرور نیز دقیقا به همین شکل است.

ریدایرکت آدرس (Redirect URL)

اگر می خواهید ترافیک را از آدرسی به آدرس دیگر هدایت کنید، می توانید پس از افزودن صفحه مورد نظر در بخش "قوانین صفحات" میزبان کلود، یک قانون تحت عنوان Redirect URL اضافه کرده و آدرس مقصد را وارد کنید.

برای مثال ممکن است بخواهید صفحه yoursite.com/page1 را به yoursite.com/page15 ریدایرکت کنید، باید ابتدا صفحه را اضافه کرده و مقابل آن روی آیکن + جهت افزودن قانون کلیک کنید. در ادامه قانون ریدایرکت را انتخاب و آدرس yoursite.com/page15 را وارد کنید.

 در انتها از شما خواسته می شود تا کد وضعیت ریدایرکت را انتخاب کنید. در اینجا سه کد وضعیت وجود دارد:

اتمام اتصال (Connection timeout)

Connection timeout مشخص می کند که اتصال برای ارسال درخواست از سرورهای CDN و دریافت پاسخ از سمت سرور اصلی، تا چه مدت زمانی قابل قبول باشد تا پس از اتمام آن یک ارور timeout نمایش داده شود. معمولاً این زمان حدود 5 ثانیه تعیین می شود، اما در صورت نیاز به تغییر آن می توانید به بخش افزودن قانون صفحه مراجعه کرده و با انتخاب گزینه connection timeout و مدت زمان دلخواه، اتصالات را مدیریت کنید.

در این قانون با سه timeout مواجه خواهید شد:

توجه داشته باشید که این مدت زمان (Timeout) حداکثر تا 500 ثانیه قابل تنظیم است.

ویرایش Host Headers

هاست هدر مشخص می کند که کلاینت (مرورگر) قصد دسترسی به کدام دامنه را دارد. این یک هدر ضروری است چراکه اکثر هاست های اشتراکی، چندین دامنه را با یک سرور (با IP Address یکسان) میزبانی می کنند.

زمانی که سرورهای CDN درخواستی دریافت کرده و آن را به سمت سرورهای اصلی هدایت می کنند، می توانند بخش هاست هدر آن را تغییر دهند. 

این مورد زمانی کاربرد دارد که چند دامنه را روی یک سرور مدیریت کنید یا بخواهید به هر دلیل، پس از دریافت هاست هدری مانند yoursite.com/page1، پیغام با هاست هدری شبیه به yoursite.s2.aws.com به سمت سرور ارسال شود.

برای بازنویسی یا ویرایش هاست هدر می توانید در بخش قوانین صفحات، قانون Modify host headers را انتخاب کرده و هاست هدر مورد نظر را در بخش domain وارد کنید.

نادیده گرفتن کش کنترل (Ignore Cache-control)

کش کنترل روشی است که از طریق آن می توان نحوه کش شدن محتوا و منابع را هنگام بازدید کاربر مدیریت کرد. همانطور که می دانید، هدرهای http پارامتر یا عناصری هستند که با یک فرمت خاص، اطلاعاتی را برای برقراری ارتباطات بهتر بین کلاینت و سرورها در خود حمل می کنند.

Cache-control نیز هدری است که با چند پارامتر، یک سری سیاست کشِ مرورگر را در پاسخ های سرور تعریف می کند. بنابراین کش کنترل مشخص می کند که تا چه زمانی و به چه نحوی یک پاسخ می تواند کش شود.

حال ممکن است بخواهید این cache-control در هدرهای response یا پاسخ های مربوط به یک صفحه خاص نادیده گرفته شود.

برای اینکار کافیست قانون "ignore cache control" را انتخاب و سپس آن را روی "ON" قرار دهید.

راهنمای Wildcard در تعریف قوانین

Wildcard ها کاراکترهای خاصی هستند که می توانند جای حروف یا کاراکتر های ناشناس دیگر قرار گیرند؛ یعنی یک الگوی مشخص تعیین می کنید تا احتمالات و متغیرهای مختلف را در آن منظور کنید. برای مثال اگر بخواهید برای صفحاتی قانون تعریف کنید که فرضاً با الگوی زیر شروع شوند:

https://www.yoursite.com/help

می توانید با استفاده از این wildcard آدرس صفحه را به این صورت وارد کنید:

https://www.yoursite.com/help/*

در لیست زیر می توانید از کاراکترهای رایج کمک بگیرید:

Example Description Character
wh* : what,why,when,... هر تعداد کاراکتر *
B?lt : bilt, balt, belt,... یک حرف الفبا در یک جایگاه خاص ؟
B[ae]ll : ball,bell NOT: bill کاراکترهایی که درون براکت هستند [ ]
B[a-d]d: bad,bbd,bcd,bdd. یک بازه از کاراکترهای درون براکت (از-تا) -
1#3: 103,113,123,...,193. هر کاراکتر عددی تک رقمی #

 به عنوان مثال می توانید صفحه ای را به این شکل اضافه کنید:

http://*.yoursite.com/*

و با اضافه کردن قانون ریدایرکت، آن را به آدرسی شبیه به این هدایت کنید:

http://yoursite.com/images/$1/$2.jpg

با چنین قانونی اگر کاربری درخواست بازدید از این تصویر را به شکل زیر ارسال کند:

http://blog.yoursite.com/photo.jpg

به چنین آدرس هدایت خواهد شد:

http://yoursite.com/images/blog/photo.jpg