اگر سایت شما با کندی بارگذاری مواجه است یا حملات DDoS آرامش را از شما گرفته، احتمالاً به فکر استفاده از کلادفلر افتادهاید. کلادفلر (Cloudflare) یک CDN و سرویس امنیتی است که بین بازدیدکننده و سرور اصلی شما قرار میگیرد و ترافیک را بهینه میکند. اما راهاندازی کلادفلر برای سایت، اگر اصولی انجام نشود، میتواند به خطاهای ۵۲۱، ۵۲۲ یا حتی از دست رفتن کامل دسترسی به سایت منجر شود. در این مقاله، دقیقاً میآموزید که چطور کلادفلر را بدون دردسر راهاندازی کنید، حالت SSL را درست انتخاب کنید و از رایجترین اشتباهاتی که سایت را میشکنند دور بمانید.
۱. پیشنیازها و آمادهسازی قبل از شروع
قبل از اینکه به پنل کلادفلر وارد شوید، چند کار مقدماتی را انجام دهید تا فرایند راهاندازی بدون مشکل پیش برود:
- آدرس IP سرور خود را بدانید: اگر سایت روی هاست اشتراکی است، IP را از پنل هاستینگ یا از طریق
ping yourdomain.comدر ترمینال پیدا کنید. برای سرور اختصاصی یا VPS، IP را از provider خود دارید. - دسترسی به پنل مدیریت DNS: باید بتوانید رکوردهای DNS دامنه را در جایی که دامنه ثبت شده (مثلاً ایراننیک یا یک registrar خارجی) تغییر دهید.
- نسخه پشتیبان از تنظیمات DNS: قبل از هر تغییری، لیست کامل رکوردهای DNS فعلی (A، AAAA، CNAME، MX، TXT) را در یک فایل ذخیره کنید. این کار در مواقع خطا نجاتبخش است.
همچنین اگر سایت شما روی هاست اشتراکی است و IP دقیق را نمیدانید، از دستور زیر در سیستمعامل خود استفاده کنید:
dig +short yourdomain.com A
خروجی، IP سرور فعلی شماست که باید در کلادفلر ثبت کنید.
۲. ساخت حساب و افزودن دامنه به کلادفلر
وارد سایت dash.cloudflare.com شوید و یک حساب رایگان بسازید. سپس روی Add a site کلیک کنید و نام دامنه خود را (مثلاً example.com) وارد کنید. کلادفلر بهصورت خودکار رکوردهای DNS موجود را شناسایی میکند، اما همیشه این شناسایی کامل نیست.
بررسی و اصلاح رکوردهای DNS
بعد از افزودن دامنه، صفحهای با لیست رکوردهای شناساییشده نمایش داده میشود. اینجا مهمترین مرحله است:
- رکورد
Aبرای دامنه اصلی وwwwباید به IP سرور شما اشاره کند. - اگر از سابدامنههایی مثل
mailیاftpاستفاده میکنید، آنها را هم اضافه کنید. - رکوردهای
MX(برای ایمیل) را دستکاری نکنید؛ اگر کلادفلر آنها را اشتباه شناسایی کرد، از روی پشتیبان قبلی اصلاح کنید. - برای رکوردهای
AوCNAME، آیکون ابر (Proxy) را فعال بگذارید تا ترافیک از کلادفلر عبور کند. برای رکوردهایMXوTXT، حتماً حالت DNS only (ابر خاکستری) باشد.
یک اشتباه رایج این است که کاربران رکورد MX را با حالت Proxy فعال میگذارند. نتیجه این میشود که ایمیلهای سایت کار نمیکنند و خطای تأخیر در تحویل پیام میگیرید. همیشه رکوردهای ایمیل را بدون Proxy نگه دارید.
۳. تغییر نیمسرور (Nameserver) در registrar
بعد از تأیید رکوردها، کلادفلر دو نیمسرور به شما میدهد که معمولاً به این شکل هستند:
aria.ns.cloudflare.com
bob.ns.cloudflare.com
حالا باید به پنل ثبتکننده دامنه (registrar) بروید و نیمسرورهای قبلی را با این دو مقدار جایگزین کنید. این تغییر معمولاً بین ۵ دقیقه تا ۲۴ ساعت طول میکشد تا در سراسر اینترنت اعمال شود.
خطای رایج: تغییر نیمسرور در هاست، نه registrar
بسیاری از کاربران بهاشتباه نیمسرور را در پنل هاستینگ تغییر میدهند. این کار هیچ اثری ندارد؛ نیمسرور باید در محلی که دامنه را ثبت کردهاید تغییر کند. اگر دامنه را از یک شرکت ایرانی خریدهاید، وارد پنل آن شرکت شوید و گزینه Nameserver یا DNS Management را پیدا کنید.
بعد از تغییر، وضعیت را در کلادفلر چک کنید. اگر بعد از ۲۴ ساعت هنوز وضعیت Pending Nameserver Update بود، احتمالاً نیمسرورها را اشتباه وارد کردهاید یا registrar شما تأخیر دارد.
۴. انتخاب حالت SSL درست؛ مهمترین تصمیم
بعد از فعالشدن دامنه، به بخش SSL/TLS در پنل کلادفلر بروید. چهار حالت وجود دارد: Off، Flexible، Full و Full (strict). انتخاب اشتباه، رایجترین دلیل شکستن سایت بعد از راهاندازی کلادفلر است.
حالت Flexible؛ مناسب چه زمانی است؟
در این حالت، ارتباط بین بازدیدکننده و کلادفلر با HTTPS است، اما بین کلادفلر و سرور شما با HTTP انجام میشود. اگر سرور شما گواهی SSL ندارد، این حالت انتخاب پیشفرض است. اما اگر سایت شما قبلاً SSL داشت و حالا آن را غیرفعال کنید، با خطای Too Many Redirects مواجه میشوید.
حالت Full و Full (strict)
اگر روی سرور خود گواهی SSL نصب دارید (حتی گواهی self-signed)، حالت Full را انتخاب کنید. ارتباط بین کلادفلر و سرور با HTTPS انجام میشود اما گواهی اعتبارسنجی نمیشود. اگر گواهی شما از یک مرجع معتبر مثل Let's Encrypt است، بهترین گزینه Full (strict) است که امنیت کامل را فراهم میکند.
نکته مهم: اگر حالت Flexible را با سایتی که SSL فعال دارد استفاده کنید، کلادفلر درخواست را با HTTP به سرور میفرستد و سرور شما با ریدایرکت به HTTPS پاسخ میدهد. این چرخه بینهایت ادامه پیدا میکند و کاربر خطای ERR_TOO_MANY_REDIRECTS میبیند.
تست SSL بعد از تغییر حالت
بعد از انتخاب حالت، حتماً سایت را در یک پنجره ناشناس (Incognito) باز کنید و مطمئن شوید قفل سبز در کنار آدرس ظاهر میشود. اگر خطایی دیدید، از ابزار curl برای بررسی استفاده کنید:
curl -I https://yourdomain.com
اگر خروجی شامل HTTP/2 200 یا 301 باشد، SSL درست کار میکند. اگر خطای 525 SSL Handshake Failed دیدید، یعنی کلادفلر نمیتواند با سرور شما ارتباط SSL برقرار کند؛ مشکل از گواهی یا پورت ۴۴۳ سرور است.
۵. تنظیمات کش و بهینهسازی
کلادفلر بهصورت پیشفرض فایلهای استاتیک (CSS، JS، تصاویر) را کش میکند. اما برای سایتهای داینامیک مثل وردپرس، باید تنظیمات کش را هوشمندانه انجام دهید تا محتوای تازه به کاربران نمایش داده شود.
قانونهای Page Rules
به بخش Rules → Page Rules بروید و یک قانون برای مسیر پیشفرض وردپرس ایجاد کنید:
example.com/wp-admin/*
Cache Level: Bypass
Security Level: Medium
این قانون باعث میشود پنل مدیریت شما هرگز کش نشود و تغییرات فوری اعمال شوند. همچنین برای مسیر example.com/wp-login.php یک قانون جداگانه با گزینه Disable Security ایجاد کنید تا از قفلشدن تصادفی جلوگیری شود.
فعالسازی Brotli و HTTP/2
در بخش Speed، گزینه Brotli را فعال کنید تا فایلهای متنی با فشردهسازی بهتر ارسال شوند. همچنین در بخش Network، گزینه HTTP/2 و 0-RTT Connection Resumption را روشن کنید. این تنظیمات سرعت بارگذاری را بهطور محسوس افزایش میدهند، بدون اینکه نیاز به تغییر کد داشته باشید.
۶. رفع رایجترین خطاها بعد از راهاندازی
حتی با رعایت همه نکات، ممکن است خطاهایی رخ دهد. در ادامه سه خطای رایج و راهحل آنها را بررسی میکنیم:
خطای ۵۲۱: Web Server is Down
این خطا یعنی کلادفلر نمیتواند به سرور شما دسترسی پیدا کند. ابتدا مطمئن شوید IP ثبتشده در رکورد A درست است. سپس از سرور خود، پورت ۸۰ و ۴۴۳ را چک کنید:
sudo netstat -tulpn | grep -E ':80|:443'
اگر خروجی خالی بود، وبسرور شما اجرا نشده است. سرویس را با دستور sudo systemctl restart nginx یا sudo systemctl restart apache2 راهاندازی کنید.
خطای ۵۲۲: Connection Timed Out
این خطا معمولاً به دلیل فایروال است. اگر از ufw استفاده میکنید، باید IPهای کلادفلر را در لیست سفید قرار دهید. لیست کامل IPها در https://www.cloudflare.com/ips/ موجود است. یک نمونه برای nginx:
sudo ufw allow from 173.245.48.0/20 to any port 80
sudo ufw allow from 173.245.48.0/20 to any port 443
این کار را برای همه رنجهای IP کلادفلر تکرار کنید تا ترافیک واقعی کاربران قطع نشود.
خطای ۵۲۶: Invalid SSL Certificate
این خطا در حالت Full (strict) رخ میدهد وقتی گواهی سرور شما معتبر نیست. اگر گواهی self-signed دارید، به حالت Full برگردید. اگر گواهی معتبر دارید اما هنوز خطا میبینید، مطمئن شوید گواهی شامل نام دامنه شماست و تاریخ انقضای آن نگذشته است.
۷. نکات نهایی برای پایداری سایت
بعد از راهاندازی موفق کلادفلر، چند کار را فراموش نکنید:
- فعالسازی Always Use HTTPS: در بخش SSL/TLS این گزینه را روشن کنید تا همه بازدیدها به HTTPS ریدایرکت شوند.
- تنظیم Automatic HTTPS Rewrites: این گزینه لینکهای HTTP داخل محتوای سایت را به HTTPS تبدیل میکند و از خطاهای محتوای ترکیبی (Mixed Content) جلوگیری میکند.
- بررسی دورهای رکوردها: اگر IP سرور شما تغییر کرد (مثلاً در VPS)، حتماً رکورد A را در کلادفلر بهروزرسانی کنید؛ در غیر این صورت سایت از دسترس خارج میشود.
اگر در فرایند راهاندازی کلادفلر به مشکل برخوردید، به یاد داشته باشید که همیشه میتوانید با غیرفعالکردن Proxy روی رکورد A (خاکستریکردن ابر) سایت را به حالت قبل برگردانید و بعد از رفع مشکل، دوباره Proxy را فعال کنید. این کار بهعنوان یک راه نجات سریع عمل میکند.
در نهایت، اگر به دنبال یک زیرساخت پایدار برای میزبانی سایت خود هستید، سرورنت (ServerNet) خدمات هاستینگ و سرور ابری را با پشتیبانی فنی ارائه میدهد که میتواند مکمل خوبی برای کلادفلر باشد. اما نکته مهم این است که تنظیمات DNS و SSL را همیشه با دقت و طبق اصولی که در این مقاله گفتیم انجام دهید تا سایت شما بدون وقفه به کار خود ادامه دهد.
دیدگاهها ۰
هنوز دیدگاهی ثبت نشده؛ اولین نفر باشید!