Skip to content

نحوه تنظیم و استفاده از ورکرز

lymanjre edited this page Apr 17, 2023 · 37 revisions

نحوه تنظیم و استفاده از ورکرز

ورکرز چیست؟

ورکرز یکی از سرویس های CDN معروف Cloudflare است که در واقع یک سرویس بدون سرور یا Serverless می باشد و از طریق آن می‌توان کدهای برنامه نویسی را اجرا نمود بدون آنکه نیاز به پیکربندی سرور و یا زیرساخت باشد. در حقیقت این سرویس یک نوع رایانش ابری مبتی بر SaaS می باشد.

به عبارت دیگه روش کار ورکرز بدین صورت است که به جای اینکه بخواهید مستقیما وبسایت خود (در اینجا پنل هیدیفای) را باز نمایید؛ درخواست ها را به ورکرز می فرستید و سپس ورکرز درخواست ها را مجددا به سمت دامنه و سرور شما ارسال می کند.

در اینجا هدف از این کار مخفی کردن دامنه پشت ورکرز است.

چگونه از ورکرز استفاده کنید؟

برای استفاده از ورکرز نیاز دارید که یک دامنه فعال روی کلادفلر داشته باشید.

ثبت دامنه و زیر دامنه روی کلادفلر

در اینجا به یک دامنه خریداری شده نیاز دارید و نیاز دارید که آن را در کلادفلر ثبت نمایید. اگر در خصوص دامنه و نحوه ثبت آن ابهامی دارید؛ این مطلب را مطالعه کنید.

طبق توضیحات مربوط به نحوه ثبت دامنه وارد اکانت خود در کلادفلر شوید.

221572305-50e819ea-0fa4-4548-8851-aab91b797f57

وارد دامنه ثبت شده شوید و در قسمت DNS یک زیردامنه جدید ثبت نمایید.

222444012-2fa4a2c2-ff89-493e-b92c-01a26d7788b7

الزامی وجود ندارد که پروکسی روشن باشد. ورکرز با هر دو حالت پروکسی روشن و خاموش کار می کند.

Screenshot_20230312_210420

پس از ثبت ساب دامنه باید سرویس ورکرز خود را بسازید.

ساخت سرویس ورکرز

به بخش ورکرز در صفحه داشبورد خود در کلادفلر بروید.

Screenshot_20230312_185353

سپس گزینه Create a Service را انتخاب نمایید.

Screenshot_20230312_211625

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

Screenshot_20230312_212008

گزینه Starter نیز روی HTTP handler باشد. در آخر با انتخاب Create service سرویس ورکرز شما ایجاد می گردد.

بعد از آن باید روی دکمه Quick edit کلیک کنید تا بتوانید کد دلخواه خود را در ورکرز قرار دهید.

Screenshot_20230312_213000

در صفحه ادیت ورکرز قسمت سمت چپ کدهای دیفالت را پاک کنید.

Screenshot_20230312_214001

سپس کد زیر را به جای آن قرار دهید.

addEventListener(
   "fetch", event => {
       
       const ip = event.request.headers.get('cf-connecting-ip') || event.request.headers.get('x-forwarded-for') || (event.request.socket && event.request.socket.remoteAddress);
       let url = new URL(event.request.url);
       const worker_domain=url.hostname;
       url.hostname = "sub.domain.com";                        
       url.protocol = event.request.headers.get('x-forwarded-proto') || "https";
       let request = new Request(url, event.request);
       if (ip)
        request.headers.set('cf-connecting-ip', ip);
        request.headers.set('Host', worker_domain);
       event.respondWith(
           fetch(request)
       )
   }
)

دقت شود:

  • در خط ششم باید دامنه ثبت شده در مرحله اول را برای مقدار url.hostname قرار دهید. یعنی مثلا ساب دامین sub.domain.com را در کلادفلر طبق توضیحات مرحله اول ثبت کرده‌اید؛ در اینجا نیاز دارید آن دامنه را برای مقدار url.hostname قرار دهید.

final_status

دکمه Save and deploy را کلیک کنید. این مرحله با موفقیت به اتمام رسید.

نکته خیلی مهم: اگر در مرحله ذخیره کد در قسمتی که نتیجه اجرای کد را نمایش می دهد (که در تصویر بالا سمت راست تصویر مشخص شده) خطایی نمایش داد نگران نباشید. کد را ذخیره کنید.

در صفحه ورکرز آدرس ورکرز خود را بدون http کپی کنید. مثلا اینطوری:

Screenshot_20230314_080208

این مرحله با موفقیت به اتمام رسید. حالا باید آدرس سرویس ورکرز خود را در پنل هیدیفای ثبت کنید.

ثبت ورکرز در هیدیفای

به منوی دامنه ها بروید و روی ایجاد کلیک کنید. حالا دو حالت پیش می‌آید: اگر دامنه قرار داده شده در کد ورکرز بدون پروکسی باشد باید در پنل دامنه دایرکت ثبت کنید. اگر دامنه‌ای که در کد ورکرز گذاشته‌اید با پروکسی روشن است؛ برای ثبت ورکرز در پنل از حالت CDN استفاده نمایید.

مثلا اگر حالت دوم باشد به شکل زیر است.

Screenshot_20230312_215936

تنظیمات را مطابق با عکس بالا انجام دهید و ذخیره نمایید.

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

نکته پایانی و مهم:

  • ورکرز در پلن رایگان به صورت روزانه فقط ۱۰۰ هزار درخواست را پردازش می کند بنابراین این سرویس به درد کسانی میخورد که ترافیک بالایی روی سرور خود ندارند.

Screenshot_20230312_223018

This wiki page is moved here. Please find latest updated articles there.

این ویکی به اینجا منتقل شده است. لطفا آخرین آپدیت‌ها و مقاله‌ها را آنجا دنبال کنید.

Clone this wiki locally