-
-
Notifications
You must be signed in to change notification settings - Fork 743
نحوه تنظیم و استفاده از ورکرز
ورکرز یکی از سرویس های CDN معروف Cloudflare است که در واقع یک سرویس بدون سرور یا Serverless می باشد و از طریق آن میتوان کدهای برنامه نویسی را اجرا نمود بدون آنکه نیاز به پیکربندی سرور و یا زیرساخت باشد. در حقیقت این سرویس یک نوع رایانش ابری مبتی بر SaaS می باشد.
به عبارت دیگه روش کار ورکرز بدین صورت است که به جای اینکه بخواهید مستقیما وبسایت خود (در اینجا پنل هیدیفای) را باز نمایید؛ درخواست ها را به ورکرز می فرستید و سپس ورکرز درخواست ها را مجددا به سمت دامنه و سرور شما ارسال می کند.
در اینجا هدف از این کار مخفی کردن دامنه پشت ورکرز است.
برای استفاده از ورکرز نیاز دارید که یک دامنه فعال روی کلادفلر داشته باشید.
در اینجا به یک دامنه خریداری شده نیاز دارید و نیاز دارید که آن را در کلادفلر ثبت نمایید. اگر در خصوص دامنه و نحوه ثبت آن ابهامی دارید؛ این مطلب را مطالعه کنید.
طبق توضیحات مربوط به نحوه ثبت دامنه وارد اکانت خود در کلادفلر شوید.
وارد دامنه ثبت شده شوید و در قسمت DNS یک زیردامنه جدید ثبت نمایید.
الزامی وجود ندارد که پروکسی روشن باشد. ورکرز با هر دو حالت پروکسی روشن و خاموش کار می کند.
پس از ثبت ساب دامنه باید تنظیمات سرتیفیکت را انجام دهید..
در تنظیمات سرتیفیکت دامنه در سایت کلادفلر بروید و سرتیفیکت را روی Full
بگذارید.
به بخش ورکرز در صفحه داشبورد خود در کلادفلر بروید.
سپس گزینه Create a Service را انتخاب نمایید.
در اینجا شما می توانید نام سرویس ورکرز خود را انتخاب نمایید. کلادفلر خود نیز یک نام به شما پیشنهاد می دهد. می توانید آن را تغییر دهید اما توجه داشته باشید که این نام باید منحصر به فرد باشد.
گزینه Starter نیز روی HTTP handler باشد. در آخر با انتخاب Create service سرویس ورکرز شما ایجاد می گردد.
بعد از آن باید روی دکمه Quick edit کلیک کنید تا بتوانید کد دلخواه خود را در ورکرز قرار دهید.
در صفحه ادیت ورکرز قسمت سمت چپ کدهای دیفالت را پاک کنید.
سپس کد زیر را به جای آن قرار دهید.
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
قرار دهید.
دکمه Save and deploy را کلیک کنید.
نکته خیلی مهم: اگر در مرحله ذخیره کد در قسمتی که نتیجه اجرای کد را نمایش می دهد (که در تصویر بالا سمت راست تصویر مشخص شده) خطایی نمایش داد نگران نباشید. کد را ذخیره کنید.
در صفحه ورکرز آدرس ورکرز خود را بدون https
کپی کنید. مثلا اینطوری:
این مرحله با موفقیت به اتمام رسید. حالا باید آدرس سرویس ورکرز خود را در پنل هیدیفای ثبت کنید.
به منوی دامنه ها بروید و روی ایجاد کلیک کنید.
تنظیمات را مطابق با عکس بالا انجام دهید و ذخیره نمایید.
توجه: از هر دو حالت CDN و AutoCDN میتوانید برای ورکرز استفاده کنید.
کار تمام شد. یک دامنه CDN با مشخصات ورکرز شما به دامین های قبلی شما اضافه شد و می توانید از کانکشن های آن استفاده نمایید.
نکته پایانی و مهم:
- ورکرز در پلن رایگان به صورت روزانه فقط ۱۰۰ هزار درخواست را پردازش می کند بنابراین این سرویس به درد کسانی میخورد که ترافیک بالایی روی سرور خود ندارند.
همانطور که احتمالا میدانید، در هیدیفای شما میتوانید لینکهای سابسکریپشن را روی یک دامنه مجزا قرار دهید و دامنههای دیگر که برای کانکشنها تنظیم شده است را به این دامنه اضافه نمایید. مزیت این کار این است که همیشه دامنه لینکها در دسترس خواهد بود و فیلتر نخواهد شد چون با این روش، کانکشنها از لینکهای سابسکریپشن جدا میشوند.
خب فرض کنید دامنه لینکهای سابسکریپشن ما که قبلا ثبت نموده اید، t1.hiddify.com
باشد. به تنظیمات مربوط به این دامنه بروید و در فیلد نمایش کانفیگهای دامنه، دامنه جدیدی که در مرحله قبل برای ورکرز اضافه نموده بودید را مثل شکل زیر تیک بزنید.
در نهایت اگر به صفحه کاربران بروید و مثل شکل زیر روی لینک کاربر کلیک کنید،
خواهید دید که کانفیگهای جدید مربوط به ورکرز به کانفیگهای قبلی اضافه شدهاند.