راهنمای شروع استفاده از DNS و CDN ستون (نسخه مفصل)
در این راهنما ابتدا به پیکربندی DNS پرداخته میشود و سپس یک CDN ساخته و پیکربندی میشود.
توجه داشته باشید که برای استفاده از CDN ستون نیازی نیست که حتما از DNS ستون استفاده کنید.
برای اینکه بتوانید از DNS ستون استفاده کنید بر روی «ساخت DNS جدید» کلیک کنید.
آدرس مبدا: نام دامنهای است که میخواهید روی ستون منتقل کنید و برای آن یک Zone داشته باشید و رکورد تعریف کنید. این میتواند یک دامنه و یا یک زیردامنه باشد. بستگی به این دارد که میخواهید SOA ما کدام یک از این آدرسها باشد.
آدرس ایمیل: برای آدرس ایمیل میتوانید آدرسی را بنویسید که داخل رکورد SOA دیده میشود.
پس از پر کردن اطلاعات با کلیک بر روی« تایید» DNS ساخته میشود.
بعد از ساخته شدن DNS وضعیت آن غیر فعال و به رنگ نارنجی است. برای اینکه احراز هویت DNS انجام شود لازم است که در قسمت تنظیمات DNS نام سرورها را کپی کنید و در داخل registrar (جایی که دامنه را از آن خریداری کردهاید)، این دو نام سرور را بهعنوان ns ثبت کنید. بعد از این کار درخواستهای DNS این دامنه از طریق سرورهای ستون پاسخ داده میشود.
بهتر است اگر دامنهی مورد نظرتان live است و یک سری رکورد دارید، قبل از اینکه نام سرور (ns) را ثبت کنید، رکوردهای مورد نظرتان را بسازید و بعد از اینکه مطمئن شدید که رکوردها به درستی کار میکنند، نام سرور را تنظیم کنید و احراز هویت را انجام دهید تا DNS برای شما فعال شود.
برای ساخت رکورد از قسمت پایین تنظیمات DNS استفاده کنید.
نام: درقسمت نام، زیردامنهی مربوط به رکورد مورد نظر قرار میگیرد. این نام و در ادامهی آن نام دامنهی مبدا، کل آدرس دامنه را تشکیل میدهند. برای مثال اگر دامنهی مبدا را example.com فرض کنید، رکورد با نام test در نهایت به آدرس test.example.com اشاره میکند.
نکته: در صورتی که میخواهید برای همین نام دامنه رکورد بسازید در قسمت نام از @ استفاده کنید.
نکته: به عنوان فرانویسه (Wildcard) میتوانید از علامت «*» استفاده کنید تا تمام زیردامنههای دلخواه را به آدرس مورد نظر ارجاع دهید.
مقدار: این قسمت بسته به نوع رکورد متفاوت است و در توضیحات مربوط به هر کدام از انواع رکورد، میتوانید مقادیر مناسب را ببینید. بهعنوان مثال برای رکورد A در قسمت مقدار باید یک آدرس IP را وارد کنید.
فیلد TTL: این قسمت که مخفف شدهی Time-To-Live است نرخ بهروزرسانی رکورد مورد نظر را مشخص میکند. برای مثال اگر این مقدار برابر ۳۰۰ باشد، سرور کشکنندهی دامنهها بعد از ۳۰۰ ثانیه رکورد را دوباره از سرور مرجع (Authoritative) درخواست میکند.
وزن: برخی از انواع رکوردها از جمله نوع A و AAAA، قابلیت تعریف چند رکورد با نام یکسان و مقادیر مختلف را دارند. در این حالت با تعیین وزن برای این رکوردها میتوان نرخ پاسخ هر رکورد توسط سرور مرجع را کنترل کرد.
فرض کنید که میخواهید برای همان دامنه که DNS را تعریف کردید یک CDN نیز فعال کنید. یکی از ویژگیهای ستون این است که اگر میخواهید از CDN ستون استفاده کنید، لازم نیست که حتما از DNS ستون نیز استفاده کنید. اما در ادامهی این مستند توضیح داده شده است که چرا بهتر است از DNS ستون نیز استفاده کنید.
برای ساخت CDN بر روی «ساخت CDN جدید» کلیک کنید.
نام: در قسمت «نام» یک اسم دلخواه برای CDN بنویسید. اين اسم ربطی به نام دامنه ندارد و هر اسم دلخواهی میتواند باشد، که در فهرست دیده میشود.
نام دامنه: در قسمت «نام دامنه» حتما باید نام دامنهای را که میخواهید پشت CDN قرار بگیرد وارد کنید.
اگر نام دامنه را وارد نکنید یک نام دامنهی پیشفرض برایتان ایجاد میشود که برای تست و کار کردن و آشنایی با تنظیمات CDN از آن استفاده میشود. پس در این قسمت حتما نام دامنهی مورد نظر خود را وارد کنید.
پس از انجام تنظیمات بالا، بر روی «تایید» کلیک کنید.
برای وارد شدن به تنظیمات CDN در لیست شبکههای توزیع محتوا، CDN مورد نظر خود را انتخاب کنید.
همانطور که در تصویر زیر نیز مشاهده میکنید یک نام دامنهی canonical برای دامنه اختصاص داده شده است. برای اینکه بتوانید CDN را فعال کنید اولین قدم این است که احراز هویت را انجام دهید. برای احراز هویت لازم است که یک رکورد TXT برای خود نام دامنه (در اینجا example.com) با مقدار نام دامنهی canonical بسازید. برای این کار مقدار نام دامنهی canonical را کپی کنید و به قسمت DNS برگردید و یک رکورد TXT برای خود دامنه (@) و با مقدار نام دامنه canonical که کپی کردید، اضافه کنید.
بعد از چند دقیقه وضعیت CDN شما از حالت غیرفعال (نارنجی) به حالت فعال (سبز) تغییر میکند و بنابراین CDN قابل استفاده خواهد شد.
مهم: ویژگی این حالت این است که با ساخت این رکورد، احراز هویت CDN انجام میشود و میتوانید تنظیمات مورد نظرتان را پیکربندی کنید و سپس با دستور curl بررسی کنید که آیا CDN شما درست کار میکند یا نه. اگر CDN بهدرستی کار میکرد میتوانید ترافیک واقعی را به پشت CDN منتقل کنید.
آدرس 185.166.104.3 آدرس Anycast IP ستون است.
قدم اول پس از ساخت و فعالسازی یک CDN ساخت یک آپاستریم است. آپاستریم در واقع لیست سرورهای Origin یا مبدا است. یعنی سرورهایی که CDN درخواست را روی آنها Proxy میکند.
بر روی «افزودن آپاستریم» کلیک کنید تا یک آپاستریم بسازید.
نام: در قسمت نام یک اسم دلخواه به آپاستریم اختصاص دهید.
پروتکل: در قسمت «پروتکل» اگر گزینهی default را انتخاب کنید به این معنی است که پروتکلی که قرار است با استفاده از آن، CDN به سرورهای Origin ریکوئست ارسال کند بهصورت خودكار تعيين شود. بهصورت خودكار يعنی اگر در قسمت سرورها پورت ۴۴۳ تعیین شده باشد از HTTPS استفاده میکند و اگر هر پورت دیگری غیر از این را وارد کرده باشید از پروتکل HTTP استفاده میشود.
اگر انتظار دارید که با هرپورتی فقط با پروتکل HTTP درخواستها را از سرور CDN دریافت کنید، میتوانید گزینهی HTTP را انتخاب کنید و اگر انتظار دارید که با هر پورتی فقط با پروتکل HTTPS درخواستها را از سرور CDN دریافت کنید میتوانید گزینهی HTTPS را انتخاب کنید.
توجه: توجه کنید که این پروتکل برای درخواستها از CDN به سروهای Origin است و ربطی به ارتباط بین کلاینت تا سرور لبه CDN ندارد.
تنظیمات سرورها
در بخش «سرورها» در قسمت «هاست» آدرس سرور Origin را بنویسید. در این قسمت هم میتوانید يك آدرس دامنه (Hostname) بنويسيد و هم يك آدرس IP.
توجه: اگر در قسمت هاست، آدرس دامنه (Hostname) وارد کنید این آدرس به صورت خودکار به آدرس IP تبدیل میشود. در صورتی که آدرس دامنهی شما به چند IP ریزالو(Resolve) شد، سرویس توزیع بار (Load Balancer) درخواستها را به صورت round-robin، فقط به IPهایی که سالم باشند ارسال میکند.
پورت: پورتی که قرار است با آن سرورهای CDN به سرور شما ریکوئست بزنند را تعیین کنید.
وزن: به هر سرور Origin میتوانید یک وزن اختصاص دهید. این وزن در الگوریتم توزیع بار مورد استفاده قرار میگیرد. زیرا میتوانید چند سرور داشته باشید و CDN روی هریک از سرورها سلامتسنجی (Health Check) انجام میدهد و از بین آنهایی که سلامت هستند بهصورت Weighted round robin ترافیک را پخش میکند. اگر همهی آدرسهایی که وارد میکنید ناسالم باشند خطای ۵۰۳ به کلاینتها برمیگردد و در این حالت Circuit break اتفاق میافتد.
سلامتسنجی
همانطور که در بالا نیز اشاره شد CDN ستون یک سرویس توزیع بار دارد که ترافیک را با الگوریتم weighted round robin بین سرورهای سالم پخش میکند. قسمت پایین فرم آپاستریم برای سلامتسنجی ایجاد شده است و به کمک تنظیمات این قسمت میتوانید تعیین کنید که سلامتسنجیای که CDN برای تعیین سلامت سرورهای شما استفاده میکند از چه پروتکلی استفاده کند. CDN ستون دو پروتکل TCP و HTTP را برای این مورد پشتیبانی میکند.
پروتکل TCP: در حالت TCP همین که یک اتصال TCP به آدرس هاست و پورت برقرار شود آن سرور سالم در نظر گرفته میشود.
پروتکل HTTP: در حالت HTTP، یک آدرس (URI) میتوانیم وارد کنیم. بهعنوان مثال آدرس /health. در این حالت CDN روی آدرس سرورها با URI وارد شده (در اینجا /health) درخواست HTTP ارسال میکند. اینکه HTTP باشد یا HTTPS براساس پورت و پروتکل انتخابی تعیین میشود. در این حالت CDN اگر جوابی غیر از 5xx دریافت کند آن سرور را سالم در نظر میگیرد و در غیر این صورت بهعنوان ناسالم در نظر میگیرد.
تعداد تلاش ناموفق: به کمک گزینهی «تعداد تلاش ناموفق» میتوانید تعیین کنید که بعد از چند بار fail شدن، یک سرور از مدار خارج شود.
Timeout: با وارد کردن مقدار Timeout میتوانید تعیین کنید که Timeout درخواستی که به سرور شما ارسال میشود چقدر باشد.
توجه: اگر تعداد تلاش ناموفق و Timeout را خالی بگذاریم از مقادیر پیشفرض CDN استفاده میشود.
توجه: اگر سروری بهعنوان ناسالم شناسایی شود. بلافاصله پس از اولین باری که درخواست HTTP یا TCP به آن ارسال شود و ارتباط برقرار شود دوباره بهعنوان سرور سالم به مدار برمیگردد.
توجه: سلامتسنجی هر ۵ ثانیه یک بار انجام میشود.
هدر هاست: اگر سرورهای Origin انتظار دارند که یک هدر هاست (Host Request Header) خاصی را برای درخواستهای HTTP دریافت کنند، مقدار هدر هاست را میتوانید در این قسمت وارد کنید. اگر انتظار خاصی ندارید میتوانید این گزینه را خالی بگذارید.
بعد از تکمیل این تنظیمات بر روی تایید کلیک کنید تا آپاستریم ساخته شود. توجه داشته باشید که میتوانید چندین آپاستریم بسازید.
پس از ساخت آپاستریم وارد قسمت لوکیشنها شوید تا لوکیشن مورد نظرتان را بسازید.
در این قسمت باید تعدادی لوکیشن بسازید و با تنظیماتی که برای لوکیشنها پیکربندی میکنید، تعیین کنید که هر ریکوئستی که میآید به کدام آپاستریم ارسال شود و به چه صورت پاسخ داده شود. پس حتما لازم است که یک لوکیشن جدید اضافه کنید.
برای ساخت لوکیشن بر روی «افزودن لوکیشن» کلیک کنید. اگرهیچ لوکیشنی نساخته باشید، تمامی درخواستها، پاسخ 404 دریافت خواهند کرد.
اطلاعات پایه
مسیر: در قسمت مسیر اگر */ را اضافه کنید به این معنی است که هر ریکوئستی که به دست CDN برسد با این لوکیشن جواب داده شود (Match All).
در جدول زیر میتوانید نحوه وارد کردن مسیر را مشاهده کنید.
مثال | توضیح | مسیر |
---|---|---|
همه درخواستها | همه درخواستها با این مسیر تطابق پیدا میکنند. اگر این مسیر اولین قانون باشد، قوانین بعدی بررسی نمیشوند | /* |
/pictures/path/to/image.gif | درخواستهایی که با/pictures/ شروع شده باشند با این مسیر تطبیق مییابند | /pictures/* |
/pictures/path/to/photo.png | درخواستهایی که با /pictures/ شروع میشوند و با یکی از پسوندهای png. یا jpg. به اتمام میرسند. | /pictures/*.{png,jpg} |
هاست
اگر لوکیشن تعریف شده فقط برای یک یا چند زیردامنه است، آن ها را در این قسمت وارد کنید. برای مقدار هاست میتوان از فرمت Glob استفاده کرد.
اگر قسمت هاست خالی باشد به این معنی است که هاست را در matching در نظر نگیرد (همه هاستها match میشوند) .
آپاستریم: در قسمت آپاستریم میتوانید فهرست آپاستریمهایی که تاکنون ساختهاید را ببینید و از بین آنها انتخاب کنید که این آدرس با کدام آپاستریم جواب داده شود. در واقع منظور این است که اگر به این آدرس ریکوئستی آمد، CDN برای گرفتن جواب به کدام آپاستریم ریکوئست را پراکسی کند.
عملیات: در قسمت عملیات میتوانید پراکسی را در حالت HTTP و یا gRPC داشته باشید که بستگی به پروتکل مورد نظرشما دارد.
پیکربندی Cache
در قسمت نوع کش سه حالت در نظر گرفته شده است.
standard: در نوع استاندارد query string هم درکش در نظر گرفته میشود و اگر query string ها تغییر کنند کش متفاوتی را برای آن آدرس خواهید داشت.
bypass: در این حالت هیچ کشی اتفاق نمیافتد و همهی درخواستها به سمت آپاستریم ارسال میشوند.
ignore-query-string: در این حالت query string ها برای ساختن کش نادیده گرفته میشوند و اگرquery String تغییر کند اهمیتی نخواهد داشت و فقط یک فایل کش برای همهی query stringها خواهم داشت.
نادیده گرفتن تنظیمات Upstream Cache: اگر گزینهی نادیده گرفتن تنظیمات Upstream cache را فعال نکرده باشید لازم است که تنظیمات کش را خودتان در سرورهای Origin برای هدر cache-control پاسخ تنظیم کنید و سرورهای CDN براساس هدر cache-control که از آپاستریم ارسال شدهاند کش را انجام میدهند. اما اگر گزینهی «نادیده گرفتن تنظیمات Upstream Cache» را فعال کرده باشید میتوانید از طریق پنل تعیین کنید که روی مرورگر و سرورهای لبه مدت زمان Caching چقدر باشد.
Non-success TTL: اگر مقدار Non-success TTL را بزرگتر از صفر در نظر بگیرید برای جوابهای 4xx هم Caching انجام میشود. در حالت عادی فقط پاسخهای 2xx و 3xx کش میشوند.
Stale TTL: اگر Stale TTL را بزرگتر از صفر در نظر بگیرید مقادیر stale-while-revalidate و stale-if-error برای cache-control تنظیم خواهد شد.
واحد زمانی TTL: واحد زمانی همهی این موارد گفته شده را از طریق قسمت «واحد زمانی TTL» میتوانید تعیین کنید.
در نظر گرفتن نوع دستگاه: اگر گزینهی در نظر گرفتن نوع دستگاه را فعال کنید سرور CDN نوع دستگاهی که درخواست را ارسال کرده است، شناسایی میکند. نوع دستگاه میتواند تبلت (tablet)، موبایل (mobile) یا دسکتاپ (desktop) باشد. در این حالت یک هدر به نام X-Stn-Device به سمت آپاستريم ارسال میشود. در آپاستریم با خواندن این هدر ریکوئست میتوانید تصمیم بگیرید که چه فایلی را مطابق با دستگاه کاربر ارائه کنید. این گزینه در حالتی مفید است که بخواهید برای دستگاههای مختلف فایلهای متفاوت و عکسهای متفاوتی را ارائه کنید. با این کار CDN وقتی پاسخ را از آپاستریم دریافت کند برای هر دستگاه یک کش متفاوت در نظر میگیرد و فایل کش جداگانهای را برای آن دستگاه میسازد یعنی میتواند کش موبایل را از کش تبلت و کش دسکتاپ جدا کند.
خصوصی و immutable: اگر گزینههای خصوصی و immutable را فعال کنید مقادیر private و immutable به هدر cache-control اضافه میشوند.
پیکربندی CORS
برای فعال کردن CORS باید گزینهی «فعال کردن CORS» را انتخاب کنید.
اگر Credentials مجاز باشد باید گزینهی Allow Credentials را انتخاب کنید.
در قسمت «Originsهای مجاز» میتوانید در هر خط تعیین کنید که از کدام Originها درخواست ارسال شود. اگر در این قسمت «*» قرار دهید همهی Originها را شامل میشود.
هدرهای مجاز: شامل هدرهایی است که ریکوئست میتواند داشته باشد. اگر در این قسمت «*» قرار دهید به این معنی است که همهی هدرها مجاز هستند.
هدرهای Exposed: مربوط به ریسپانسهدرها (Response Header) هستند و میتوانید در این قسمت تعیین کنید که چه ریسپانسهدرهایی مجاز هستند.
توجه: این موارد را میتوانید در مستندات مربوط به CORS موجود در وب مطالعه کنید.
متدهای مجاز: در این قسمت میتوانید هدرهای مجاز را انتخاب کنید و اگر هیچکدام از آنها را انتخاب نکنید به این معنی است که همهی متدها مجاز هستند.
تنظیمات بازنویسی
فرض کنید که یک درخواست به سمت /cdn/image ارسال میشود و در سمت سرورهای origin انتظار دارید که این درخواستها صرفا به /image ارسال شوند. در این قسمت میتوانید پیشوند /cdn/image را با مقدار /image جایگزین کنید.
توجه داشته باشید که اگر در قسمت پیشوند از مقدار «*» استفاده کنید کل URIهای شما با آدرسی که در قسمت «جایگزین با» مینویسید جایگزین میشود.
پیکربندی تنظیمات اضافی
فعال کردن Secure Link: در این قسمت میتوانید Secure Link را فعال سازی کنید که معمولا برای VoD استفاده میشود. برای اطلاعات بیشتر میتوانید از مستند مربوط به Secure Link استفاده کنید.
هدرهای آپاستریم: در قسمت هدرهای آپاستریم میتوانید هدرهایی را که میخواهید از سرور CDN به سمت سرور Origin ارسال شود را وارد کنید. هدرهای آپاستریم بهصورت هدر ریکوئست به سمت سرور Origin ارسال میشوند.
هدرهای Downstream: در قسمت هدرهای Downstream میتوانيد هدرهايی که میخواهید سرور CDN در پاسخها (Response) به کلاینتها برگرداند را تنظیم کنید. هدرهای Downstream بهصورت هدر Response به کلاینت ارسال میشوند.
سرویس عکس
سرویس عکس: اگر میخواهید از سرویس عکس استفاده کنید در این قسمت باید آن را فعال کنید. برای آشنایی با سرویس پردازش تصویر و نحوهی استفاده از سرویس پردازش تصویر به مستندات مرتبط با آن مراجعه کنید.
بهینهسازی صفحات
بهینهسازی صفحات: اگر بخواهید فایلهای CSS و HTML را قبل از اینکه به دست کلاینت برسند Minify کنید میتوانید «سرویس بهینهسازی صفحات» را فعال کنید.
نکات مرتبط با لوکیشن
توجه: توصیه میشود که برای لوکیشن مربوط به /* تنظیمات مربوط به کش را bypass در نظر بگیرید. و اگر میخواهید عکسها را کش کنید یک لوکیشن جدید بسازید. بهعنوان مثال میتوانید یک لوکیشن با مسیر /*.png بسازید. در این حالت همهی آدرسهایی که به .png ختم شوند با این آدرس Match خواهند شد.
توجه: توجه داشته باشید که اولویت match شدن آدرس با لوکیشنها از بالا به پایین است و در لیست میتوانید ترتیب لوکیشنها را با Drag & Drop تنظیم کنید (از طریق Handler سمت راست هر لوکیشن). با توجه به این نکته، اگر اشتباها مسیر /* را در بالاترین جایگاه قرار دهید هیچکدام از لوکیشنهای دیگر Match نخواهند شد. پس بهتر است دقت کنید که /* آخرین موردی باشد که قرار است match شود.
با استفاده از دکمههای «ویرایش» و «حذف» میتوانید لوکیشنها را ویرایش و یا حذف کنید.
در قسمت مدیریت TLS میتوانید TLS را برای دامنهتان فعال کنید و گواهینامه (certificate) بگیرید. در دو حالت میتوانید از TLS سرویس CDN ستون استفاده کنید.
حالت اول
میتوانید بهصورت دستی گواهینامهی خودتان را اضافه کنید. برای این کار بر روی دکمهی «Secrets» کلیک کنید و سپس «افزودن Secret جدید» را انتخاب کنید.
نام: در این قسمت باید یک اسم دلخواه به گواهینامهی خود اختصاص دهید که در فهرست گواهینامهها نمایش داده شود.
CRT: در قسمت CRT باید سرتیفیکیت خود را بهصورت full-chain (که شامل leaf و root میشود) وارد کنید.
کلید: در قسمت کلید نیز باید private key را وارد نمایید.
پس از اضافه کردن Secret باید گزینهی «فعال کردن Secret» را فعال کنید و در قسمت Secret از فهرست نمایش داده شده Secret مورد نظر را انتخاب کنید.
حالت دوم
حالت دوم به این صورت است که CDN ستون به صورت خودكار گواهینامه را برای شما تهیه میکند. در این حالت پس از فعال کردن TLS در قسمت «حداقل نسخهی TLS» میتوانید نسخهی گواهینامه را تعیین کنید. و با فعال کردن گزینهی «بهروز رسانی خودکار TLS» تایید میکنید که CDN ستون به صورت خودکار گواهینامه را برای شما بگیرد.
وایلدکارد (wildcard): اگر این گزینه روشن نباشد به این معنی است که شما از حالت چالش HTTP01 مرتبط با Let's encrypt استفاده میکنید. در این حالت حتما باید ترافیکتان پشت CDN ستون باشد تا بتوانید چالش Let's encrypt را اعتبارسنجی (validate) کنید و verify شوید تا CDN ستون بتواند گواهینامه را از طرف شما بهعنوان مشتری دریافت کند. در این حالت احتمال downtime وجود دارد چرا که عملیات گرفتن گواهینامه زمان بر است و اگر سایت شما live باشد و بخواهید با حالت غیر وایلدکارد گواهینامه را بگیرید یک downtime خواهید داشت.
اگر گزینهی وایلدکارد را فعال کنید در این حالت CDN ستون از چالش DNS01 مرتبط با Let's encrypt برای verification استفاده میکند و Let's encrypt انتظار دارد که یک رکورد TXT با یک توکن خاص برای این دامنه تنظیم شود که بتواند آن را تایید (validate) کند.
توجه: در حالت وایلدکارد حتما باید از DNS ستون استفاده شود.
اجباری بودن TLS: در صورتی که اجباری بودن TLS را فعال کنیم تمام ریکوئستهای HTTP به HTTPS ریدایرکت میشوند و هدر HSTS برای دامنهی شما تنظیم خواهد شد و مرورگر نیز این عملیات ریدایرکت را بهصورت خودکار انجام میدهد. در حال حاضر مقدار Max age مربوط به HSTS در CDN ستون یک سال در نظر گرفته شده است.
پس از انجام تنظیمات مربوط به مدیریت TLS بر روی دکمهی «ذخیره» کلیک کنید تا تنظیمات ذخیره شوند. در غیر این صورت هیچ یک از تنظیمات ذخیره نخواهند شد.
ویژگی «لینک امن» که توسط سرویس CDN ستون ارائه شده است، روشی برای کنترل دسترسی به لینکهای CDN است که با استفاده از تولید یک token و اضافه کردن آن به لینک، تضمین میکند که آن لینک فقط برای دارندگان tokenهای درست و به مدت زمان معینی قابل دسترس است. بنابراین پس از انقضای token، دسترسی به محتوای آن ممکن نیست.
جزئیات مربوط به پیکربندی لینک امن را میتوانید در مستندات مربوط به آن مطالعه کنید.
برای ساختن فایروال، بر روی دکمهی «ساخت قانون فایروال» کلیک کنید. در صفحهی باز شده یک اسم دلخواه برای فایروال خود انتخاب کنید که در فهرست دیده شود.
محدودیتها
در قسمت «محدودیتها» در واقع محدودیتهایی را میتوانید تعیین کنید که میخواهید ریکوئستها براساس آنها Match شوند و اگر ریکوئستی با این محدودیتها Match شد، فایروال برای آن ریکوئست فعال میشود و عملیات مرتبط، برای آن ریکوئست اتفاق میافتد.
محدودیت ASN: در این قسمت میتوانید محدودیت را بر روی AS Number اعمال کنید. مثلا میتوانيد محدودیتی را بر روی کاربران یک سرویسدهندهی اینترنت خاص اعمال کنید.
محدودیت Cookie: اگر Cookie انتخاب شود میتوانید بر روی نام یک Cookie یک عملگر را انتخاب کنید. در قسمت عملگر فهرست عملگرهایی که میتوانید انتخاب کنید آورده شده است.
محدودیت County: با انتخاب این گزینه میتوانید تعیین کنید که بهعنوان مثال برای ريكوئستهایی که از یک کشور خاص ارسال میشوند محدودیتی اعمال شود. برای مثال با استفاده از این گزینه میتوانید دسترسی به سرویس خود را فقط برای ایرانیان فراهم کنید.
محدودیت Header: با انتخاب این گزینه میتوانید نام Header را وارد کنید و با انتخاب عملگر مورد نظر خود Match شدن یا نشدن درخواست را تعیین و محدودیت مورد نظر خود را اعمال کنید.
محدودیت IP Address: با انتخاب این گزینه میتوانید یک محدوده آدرس IP مبدا را وارد کنید.
محدودیت Method: با انتخاب این گزینه میتوانید متد ریکوئست را تعیین کنید.
محدودیت URI: شامل Path به همراه Query String میشود.
محدودیت HTTP Version: با استفاده از این گزینه میتوانید انتخاب کنید که Matching براساس ورژن HTTP انجام شود.
محدودیت TLS: با این محدودیت فعال بودن یا نبودن HTTPS بررسی میشود.
محدودیت Known Bots: دراین قسمت اگر باتهای معروفی مانند Google یا Bing شناسایی شدند Matching انجام میشود.
محدودیت Host و Port: با انتخاب این گزینهها میتوانید خود Host یا Port درخواست را Match کنید.
توجه: خود محدودیتها را میتوانید بهصورت «And/و» یا «Or/یا» با یکدیگر ترکیب کنید و مجموعهای از محدودیتها را با توجه به نحوهی ترکیب قوانین که در زیر آورده شده است اعمال کنید:
(constraint1 && constraint2 && …) or (constraintN && constraintN+1 && …) or …
عملیات
در قسمت مربوط به عملیات میتوانید تعیین کنید که چه اتفاقی برای درخواستهای match شده با محدودیتهایی که تنظیم کردید، بیفتد.
عملیات Bypass و Allow: اگر این یکی از این گزینهها را انتخاب کنید، هیچ اتفاقی نمیافتد.
عملیات Captcha: اگر این گزینه را انتخاب کنید در این حالت کاربر شما با چالش کپچا مواجه میشود و برای دسترسی به محتوای سایت نیاز است که این چالش را حل کند. در حال حاضر فقط امکان انتخاب Google reCAPTCHA فراهم است. کاربر باید در کنسول reCAPTCHA ثبتنام کرده و مقادیر secret را در پنل وارد کند.
عملیات چالش جاوااسکریپت (JS Challenge): این روش یک روش سادهتر نسبت به JS و کپچا است که کوکی خاصی را در پاسخ به کاربر برمیگرداند و از درخواست بعدی انتظار دارد که مقدار کوکی را به همراه داشته باشد.
عملیات چالش کوکی (Cookie Challenge): این روش یک روش سادهتر (نسبت به JS و کپچا) برای تشخیص مرورگر از سایر انواع کلاینت است که کوکی خاصی را در پاسخ به کاربر برمیگرداند و از مرورگر میخواهد که دوباره همان صفحه را باز کند و انتظار دارد که دوباره مرورگر صفحه جدید را با مقداری که برای کوکی ست شده است باز کند.
عملیات Block: اگر این گزینه را انتخاب کنید درخواستهای Match شده با یک کد وضعیت و یک قالب HTML بلاک خواهند شد. قالب HTML بهعنوان پاسخ ارسال خواهد شد. در قسمت هدرهای پاسخ میتوانید تعیین کنید که چه نام و مقداری در پاسخ به کاربر بلاکشده ارسال شود.
عملیات Basic Auth: در این قسمت میتوانید یک نام کاربری و یک گذرواژه اختصاص دهید و یک پیام برای نشان دادن پیام Authorization ست کنید تا Basic Auth فعال شود. با انتخاب این حالت، کاربر باید قبل از ورود به سایت یک Credential وارد کند تا بتواند وارد سایت شما شود.
عملیات Redirect: با انتخاب این گزینه میتوانید آدرس خود را به یک آدرس دیگر Redirect کنید. توجه داشته باشید که در قسمت هدف باید آدرس کامل را وارد نمایید. مثال: Http://example.com
برای این عملیات توجه داشته باشيد كه:
- کد وضعیت در این قسمت میتواند ۳۰۱، ۳۰۸ و یا هر مقدار دیگری باشد که Redirect با آن انجام شود.
- اگر گزینهی «حفظ کوئری استرینگ» را انتخاب کنید همهی Query Stringهای آدرس اصلی به این آدرس هدف ارسال میشوند.
- اگر گزینهی «حفظ آدرس درخواست» را انتخاب کنید درخواست کاربر به همان Path در آدرس جدید منتقل میشود.
- اگر گزینهی «ریفرر» فعال شود، مقدار هدر ریفرر نیز تنظیم خواهد شد. مقدار ریفرر معادل Host و URIی است که ریکوئست اصلی برای آن ارسال شده است.
- اگر بخواهید یک کوئریاسترینگ اضافه هم داشته باشید میتوانيد نام مقدار آن را تعيين كنيد.
جزئیات بیشتر مربوط به پیکربندی فایروال را میتوانید از مستندات ویژگیهای قابل استفاده در شرطهای فایروال و انواع عملیات برای قوانین فایروال مطالعه کنید.
پس از انجام تنظیمات فایروال باید بر روی «تایید» کلیک کنید تا قوانین مورد نظرتان ایجاد شوند. در صفحه مربوط به فایروال یک گزینهی «فعال» وجود دارد. در صورتی که این گزینه را فعال کنید امکان فعال/غیرفعال کردن قوانینی که ساختهاید در لیست قانونهای فایروال، برای شما فراهم خواهد شد.
توجه داشته باشید که در صورتی که گزینهی «فعال» اصلی را فعالسازی نکنید هیچ یک از قوانین فایروال کار نخواهند کرد حتی اگر به صورت تکی فعال شده باشند.
در این قسمت میتوانید برای صفحات ۴۰۴، ۵۰۲ و ۵۰۴ یک قالب HTML وارد کنید که به کلاینت نمایش داده شود.
اگر بخواهید که کش را پاک کنید میتوانید از گزینهی پاکسازی کش که در بالای صفحه قرار دارد استفاده کنید.
مسیر
پس از کلیک بر روی این گزینه در صفحهی باز شده در قسمت مسیر میتوانید آدرس مورد نظرتان را وارد کنید.
مثال: میتواند /* یا هر چیز دیگری وارد کنید. /* به این معنی است که همهی فایلها پاکسازی شوند.
مثال: اگر بخواهید همهی عکسها که در مسیر /images قرار دارند را پاکسازی کنید میتوانید از /images/* استفاده کنید.
توجه: کاراکتر «*» فقط میتواند آخرین کاراکتر استفاده شود. در این حالت پاکسازی (Purge) به صورت By Prefix انجام خواهد شد. اگر از کاراکتر «*» استفاده نکنید، پاکسازی فقط برای یک آدرس خاص انجام میشود.
توجه: در این قسمت میتوانید ۱۰ مسیر را برای پاکسازی تعیین کنید.
زیردامنه
در قسمت زیردامنه میتوانید اسم زیردامنه را وارد کنید تا فایلها برای آن زیردامنه پاکسازی شوند. توجه داشته باشید که در این قسمت فقط اسم زیردامنه باید نوشته شود و نباید اسم کامل دامنه در ادامهی آن نوشته شود. مثال:
www, mail, ...
پس از کلیک بر روی دکمهی «پاکسازی انتخابی» درخواست پاکسازی ارسال خواهد شد. عملیات پاکسازی یک عملیات زمانبر است.
![19](https://s3.thr1.sotoon.ir/ravi-statics/media/original_images/19.png)
ویرایش نام دامنه
در صورتی که اسم دامنه را اشتباه زده باشید میتوانید با استفاده از گزینهی «ویرایش نام دامنه» که در بالای صفحه نمایش داده شده است اسم دامنه را ویرایش کنید.
حذف
با استفاده از گزینهی حذف که در بالای صفحه نمایش داده شده است میتوانید CDN را حذف کنید.