برای راهاندازی Cloudflare روی سایت، ابتدا دامنه را در حساب Cloudflare اضافه میکنید، رکوردهای DNS را بازبینی میکنید، Nameserverهای دامنه را در ثبتکننده دامنه به آدرسهای Cloudflare تغییر میدهید و بعد حالت SSL را تنظیم میکنید. بعد از اینکه Nameserverها فعال شدند، ترافیک سایت از Cloudflare عبور میکند و میتواند کش، محافظت در برابر حمله و گواهی SSL را برایتان انجام دهد. مهمترین تنظیم، حالت SSL است و برای سروری که گواهی معتبر دارد باید روی Full (strict) باشد.
این راهنما برای مدیری است که دامنه و سرور خودش را دارد. قبل از هر تغییر، رکوردهای فعلی DNS را یادداشت یا خروجی بگیرید، چون جا افتادن یک رکورد (بهخصوص MX) میتواند ایمیل را قطع کند. توضیح رکوردها در انواع رکورد DNS آمده است.
Cloudflare چه کاری میکند؟
Cloudflare یک پراکسی معکوس جلوی سایت است. کاربر به Cloudflare وصل میشود و Cloudflare درخواست را به سرور اصلی میفرستد. این معماری چند کاربرد دارد:
| قابلیت | توضیح |
|---|---|
| DNS | مدیریت رکوردها با پاسخدهی سریع |
| پراکسی و پنهان کردن IP سرور | با ابر نارنجی، IP واقعی سرور مستقیم دیده نمیشود |
| کش محتوای ایستا | تصاویر، CSS و JS از نزدیکترین نقطه ارائه میشوند |
| SSL | گواهی برای مسیر کاربر تا Cloudflare |
| محافظت | قوانین فایروال (WAF)، محدودیت نرخ و محافظت در برابر حملات حجمی بسته به طرح |
مقدار قابلیتها به طرح (رایگان یا پولی) بستگی دارد؛ جزئیات و محدودیتهای هر طرح را از سایت Cloudflare ببینید. توضیح ساختار پراکسی معکوس در Reverse Proxy چیست آمده است.
مرحله اول: راهاندازی Cloudflare و اضافه کردن دامنه
در حساب Cloudflare روی Add a site بزنید، نام دامنه را وارد کنید و طرح را انتخاب کنید. Cloudflare رکوردهای DNS موجود را اسکن میکند. این اسکن همیشه کامل نیست، پس رکوردهای واقعی دامنه را با فهرست قبلی مقایسه کنید. رکوردهای مهم:
- A و AAAA برای دامنه اصلی و زیردامنهها
- CNAME برای www و سرویسهای دیگر
- MX برای ایمیل
- TXT برای SPF، DKIM، DMARC و تأیید مالکیت سرویسها
اگر ایمیل دامنه را خودتان راهاندازی کردهاید، رکوردهای SPF و DKIM را حتماً بررسی کنید. تنظیم صحیح آنها در تنظیم SPF، DKIM و DMARC آمده است. ابزار بررسی DNS دامنه رکوردهای فعلی را قبل و بعد از تغییر نشان میدهد.
مرحله دوم: ابر نارنجی یا خاکستری
کنار هر رکورد A، AAAA یا CNAME یک ابر دیده میشود:
- نارنجی (Proxied): ترافیک از Cloudflare میگذرد. مناسب سایت و API وب.
- خاکستری (DNS only): فقط پاسخ DNS میدهد و ترافیک مستقیم به سرور میرود.
رکوردهایی که وب نیستند، باید خاکستری بمانند. مثلاً رکورد A مربوط به mail.example.com، چون پروتکلهای ایمیل (SMTP، IMAP) از پراکسی Cloudflare عبور نمیکنند. همینطور برای SSH روی دامنه، اگر از دامنه استفاده میکنید، رکورد باید خاکستری باشد یا با IP وصل شوید. در طرحهای مرسوم، فقط پورتهای HTTP و HTTPS مشخصی از پراکسی عبور میکنند؛ فهرست آنها در مستندات Cloudflare آمده است.
مرحله سوم: تغییر Nameserver
Cloudflare دو Nameserver به شما میدهد. در پنل ثبتکننده دامنه، Nameserverهای فعلی را با این دو عوض کنید. تا فعال شدن ممکن است از چند دقیقه تا چند ساعت طول بکشد. وضعیت دامنه در داشبورد Cloudflare از Pending به Active تغییر میکند. در این مدت سایت معمولاً بدون قطعی کار میکند، به شرطی که رکوردها درست منتقل شده باشند.
اگر دامنه ir دارید، شرایط ثبتکننده و Nameserver ممکن است محدودیتهایی داشته باشد. پیش از تغییر، قوانین ثبتکننده را بررسی کنید.
مرحله چهارم: حالت SSL
از بخش SSL/TLS یکی از حالتها را انتخاب کنید:
| حالت | معنی | توصیه |
|---|---|---|
| Off | بدون رمزنگاری | استفاده نکنید |
| Flexible | HTTPS تا Cloudflare، ولی از Cloudflare تا سرور HTTP | معمولاً حلقه ریدایرکت میسازد و ایمن نیست |
| Full | HTTPS تا سرور، بدون اعتبارسنجی گواهی | فقط موقت |
| Full (strict) | HTTPS تا سرور با گواهی معتبر | توصیهشده |
برای حالت Full (strict) باید روی سرور گواهی معتبر نصب باشد؛ مثلاً از Let’s Encrypt یا گواهی مبدأ Cloudflare. راه نصب گواهی رایگان در نصب SSL رایگان آمده است. بعد از تنظیم، وضعیت گواهی را با بررسی SSL سایت ببینید.
اگر حالت را Flexible گذاشتهاید و سایت وردپرسی است، معمولاً با خطای «ERR_TOO_MANY_REDIRECTS» روبهرو میشوید. راهحل، نصب گواهی روی سرور و رفتن به Full (strict) است.
مرحله پنجم: تنظیمات پیشنهادی
- Always Use HTTPS: درخواستهای HTTP را به HTTPS هدایت میکند.
- Minimum TLS Version: حداقل TLS 1.2 بگذارید.
- Automatic HTTPS Rewrites: لینکهای HTTP داخل صفحه را در صورت امکان به HTTPS برمیگرداند.
- Brotli: فشردهسازی بهتر ترافیک.
تنظیمات کش را با احتیاط عوض کنید. قوانین کش تهاجمی روی صفحات پویا (سبد خرید، پیشخوان وردپرس) میتواند صفحه یک کاربر را به کاربر دیگر نشان دهد. صفحات wp-admin و wp-login.php را از کش خارج کنید.
مرحله ششم: IP واقعی بازدیدکننده
وقتی سایت پشت Cloudflare است، سرور اصلی بهجای IP کاربر، IP Cloudflare را میبیند. برای دیدن IP واقعی در لاگ و فایروال، هدر CF-Connecting-IP را به کار ببرید. در Nginx با ماژول realip:
set_real_ip_from 173.245.48.0/20;
real_ip_header CF-Connecting-IP;فهرست کامل و بهروز آدرسهای Cloudflare در https://www.cloudflare.com/ips/ است و باید همه آنها را اضافه کنید. فهرست بالا فقط یک نمونه است. بدون این تنظیم، ابزارهایی مثل Fail2ban بهجای مهاجم، IP خود Cloudflare را مسدود میکنند.
مرحله هفتم: بستن دسترسی مستقیم به سرور
اگر مهاجم IP واقعی سرور را بداند، میتواند از Cloudflare عبور کند. برای جلوگیری:
- در فایروال سرور، پورتهای 80 و 443 را فقط برای آدرسهای Cloudflare باز کنید.
- IP واقعی را از رکوردهای خاکستری (مثلاً mail) و سابقه DNS افشا نکنید. اگر قبلاً IP فاش شده، تغییر آن را در نظر بگیرید.
روش ساخت قانون در مدیریت فایروال آمده است.
خطاهای رایج
| نشانه | علت و راه حل |
|---|---|
ERR_TOO_MANY_REDIRECTS | حالت SSL روی Flexible است و سرور هم ریدایرکت به HTTPS دارد؛ Full (strict) |
| خطای 525 یا 526 | گواهی روی سرور اصلی نامعتبر است یا SSL handshake نمیشود |
| خطای 521 | سرور اصلی اتصال را رد کرده یا خاموش است |
| ایمیل کار نمیکند | رکورد mail یا MX نارنجی شده یا رکورد جا افتاده |
| تغییر سایت دیده نمیشود | کش Cloudflare؛ Purge Cache بزنید |
| IP همه بازدیدکنندهها یکی است | هدر IP واقعی تنظیم نشده |
سوالات متداول
آیا Cloudflare سرعت سایت را بیشتر میکند؟
برای محتوای ایستا معمولاً بله، بهخاطر کش نزدیک کاربر. برای صفحات پویا بسته به تنظیمات و فاصله سرور فرق میکند. بعد از فعالسازی، سرعت را آزمایش کنید.
آیا IP سرور من مخفی میشود؟
برای رکوردهای نارنجی بله، ولی IP از رکوردهای خاکستری، ایمیل و سابقه DNS ممکن است فاش شود.
پشت Cloudflare ایمیل سرور کار میکند؟
بله، به شرط اینکه رکوردهای مربوط به ایمیل خاکستری باشند و MX، SPF، DKIM درست منتقل شده باشند.
اگر Cloudflare را بخواهم حذف کنم چه میشود؟
Nameserverها را به ثبتکننده برگردانید یا رکوردها را در جای دیگر بسازید. پیش از آن، رکوردهای DNS را بیرون بکشید.





