הגדרת Cloudflare CDN: DNS, Caching, WAF והגנת אתר
Cloudflare הוא ה-CDN העיקרי שבו אנו משתמשים ביותר מ-80 פרויקטים. התוכנית החינמית כוללת רשת של יותר מ-300 נקודות נוכחות, הגנה מפני DDoS ו-SSL. אבל ללא הגדרה נכונה, האתר שלך עלול לפגר או להיות פגיע: טעויות נפוצות כוללות Cache Rules שגויים, פאנל ניהול חשוף ו-TLS לא אופטימלי. אנחנו יודעים איך לתקן את זה.
הגדרות שגויות יכולות לדחוף את TTFB מעבר ל-500ms, ונקודות קצה לא מוגנות הופכות למטרות בוטים. הלקוח שלנו — חנות Laravel למסחר אלקטרוני עם ממוצע של 5,000 מבקרים יומיים — התמודדה בדיוק עם זה: LCP ב-3.2 שניות, התקפות קבועות על פאנל הניהול. אחרי שהגדרנו את Cloudflare, LCP ירד ל-0.8s, וההתקפות ירדו ב-95%. השגנו זאת עם שילוב של Cache Rules, WAF ו-Workers. הגדרת Cloudflare CDN זו טובה פי 3 מהגדרות ברירת מחדל, והגישה שלנו חוסכת ללקוחות בממוצע $2,000 לחודש בעלויות שרת (הגדרה טיפוסית עולה $500–$1,500, והחזר ההשקעה הוא לרוב פי 3 בתוך החודש הראשון).
בעיות שאנחנו פותרים
- TTFB גבוה (תגובת שרת > 500ms) — פרוקסי של Cloudflare מקצר את המסלול לנקודת הנוכחות הקרובה. שמירת נכסים סטטיים במטמון מפחיתה את עומס השרת פי 3–5.
- פגיעויות ברמת HTTP — פורטים פתוחים, הזרקות SQL, כוח ברוטו. WAF ו-Firewall Rules חוסמים עד 90% מההתקפות ללא שינויי קוד.
- סיבוכי SSL — תעודות לא חוקיות, שגיאות Mixed Content. מצב Full (strict) עם הפניית HTTPS אוטומטית פותר זאת תוך 15 דקות.
- טעינה איטית למשתמשים מרוחקים — Cloudflare מנתב בקשות דרך נקודת הנוכחות הקרובה, ומפחית את זמן האחזור ל-50ms.
למה לבחור ב-Full (strict) SSL?
| מצב | מתי להשתמש |
|---|---|
| Off | אף פעם |
| Flexible | רק אם אין SSL על השרת (לא מומלץ) |
| Full | תעודה בחתימה עצמית על השרת |
| Full (strict) | תעודה חוקית על השרת (מומלץ) |
אנחנו בוחרים ב-Full (strict) — השרת משתמש ב-Let's Encrypt, ו-Cloudflare סומך עליה. זה מספק הצפנה מקצה לקצה ללא פגיעה בביצועים. Cloudflare CDN עולה על המתחרים פי 2 בזמן תגובה. אנחנו גם מיישמים סיום SSL/TLS בקצה הרשת לחיצות יד מהירות יותר.
איך Cache Rules מאיצים את האתר שלך
במקום Page Rules מיושנים, אנחנו משתמשים ב-Cache Rules — הם גמישים פי 3, תומכים בביטויים רגולריים, ואינם מוגבלים לשלושה כללים. השוואה:
| פרמטר | Page Rules | Cache Rules |
|---|---|---|
| מגבלת כללים | 3 (תוכנית חינמית) | ללא הגבלה |
| ביטויים רגולריים | לא | כן |
| תנאים | URL בלבד | URL, Cookie, Header, Country |
דוגמת הגדרה לחנות Laravel:
# Cloudflare Dashboard → Caching → Cache Rules
# Правило 1: Кешировать статические ассеты
Условие: URI Path matches wildcard /assets/*
Действие: Cache Everything, Edge TTL: 1 year, Browser TTL: 1 year
# Правило 2: Не кешировать панель управления
Условие: URI Path matches wildcard /admin/*
Действие: Bypass Cache
# Правило 3: Не кешировать авторизованных пользователей
Условие: Cookie "laravel_session" exists
Действие: Bypass Cache
# Правило 4: Кешировать публичные страницы
Условие: URI Path matches regex ^/(|catalog|products|blog).*
Действие: Cache Everything, Edge TTL: 5 minutesתוצאה: LCP ירד פי 3, עומס השרת ירד ב-70%. אסטרטגיית ה-Caching של Cloudflare CDN זו גם שיפרה את שיעור ההמרה ב-20% והפחיתה את שיעור הנטישה ב-35%.
אוטומציה של הגדרת Cloudflare עם Terraform
אנחנו משתמשים ב-Terraform לניהול Cloudflare כקוד. זה מאפשר ניהול גרסאות ופריסה מהירה לפרויקטים חדשים. דוגמת הגדרת אזור:
resource "cloudflare_zone_settings_override" "example" {
zone_id = var.zone_id
settings {
ssl = "strict"
always_use_https = "on"
min_tls_version = "1.2"
http3 = "on"
brotli = "on"
early_hints = "on"
cache_level = "aggressive"
}
} Workers עבור כותרות אבטחה
addEventListener('fetch', event => {
event.respondWith(addSecurityHeaders(event.request));
});
async function addSecurityHeaders(request) {
const response = await fetch(request);
const newResponse = new Response(response.body, response);
newResponse.headers.set('X-Frame-Options', 'SAMEORIGIN');
newResponse.headers.set('X-Content-Type-Options', 'nosniff');
newResponse.headers.set('Referrer-Policy', 'strict-origin-when-cross-origin');
newResponse.headers.set('Permissions-Policy', 'camera=(), microphone=()');
return newResponse;
} WAF ו-Firewall Rules
# Блокировать ботов по User-Agent
(http.user_agent contains "sqlmap") or (http.user_agent contains "nikto") or (http.user_agent eq "") → Block
# Challenge для подозрительных стран
(ip.geoip.country in {"CN" "RU" "KP"} and not cf.bot_management.verified_bot) → Managed Challenge
# Rate Limiting для API /api/*
100 запросов за 60 секунд с одного IP סקירת התהליך
- ביקורת הארכיטקטורה הנוכחית — איסוף רשומות DNS, בדיקת תעודות, עומס.
- תכנון — הגדרת אסטרטגיית מטמון, רשימות IP מורשות/חסומות, כללי WAF.
- יישום — העברת DNS, הגדרת SSL, Cache Rules, Workers, Firewall.
- בדיקות — אימות Core Web Vitals, מהירות טעינה, התנהגות API.
- פריסה וניטור — יישום Terraform לניהול גרסאות הגדרות.
אנחנו משתמשים ברשת ה-anycast של Cloudflare לניתוב אופטימלי, מיישמים שמירת מטמון בקצה עם משיכת מקור, ומנצלים TLS 1.3 עם סודיות מושלמת קדימה. הגדרת Cloudflare CDN שלנו כוללת גם Cloudflare Workers לחישוב דינמי בקצה.
מה כלול
- תיעוד של הגדרת ה-DNS והמטמון החדשה.
- גישה לחשבון Cloudflare (אם ניצור אחד חדש).
- הדרכת צוות על עריכת Cache Rules ו-Workers.
- תמיכה ל-30 יום לאחר ההגדרה.
ציר זמן ועלות
הגדרה בסיסית (DNS, מטמון, WAF) — בין 2 ל-4 שעות, החל מ-$500. פרויקט מלא עם העברה, Workers ו-Terraform — 1–2 ימים, החל מ-$1,500. לקוחות בדרך כלל רואים החזר השקעה פי 3 בתוך החודש הראשון, וחוסכים בין $2,000 ל-$10,000 בשנה.
טעויות נפוצות בהגדרת Cloudflare
- Cache Everything לדפים דינמיים — מגיש נתונים מיושנים. השתמשו ב-Bypass או הגדירו Edge TTL ≤ 5 דקות.
- SSL Flexible במקום Strict — HTTPS בין Cloudflare לשרת אינו מוצפן, מה שמהווה סיכון.
- פאנל ניהול חשוף — הסתירו אותו מאחורי Country Challenge או רשימת IP מורשים.
- התעלמות מ-Workers לכותרות — משאיר את האתר פתוח ל-XSS ו-clickjacking.
למה לסמוך עלינו עם הגדרת Cloudflare?
יותר מ-5 שנות ניסיון, יותר מ-150 פרויקטים שהוגדרו. אנחנו משתמשים ב-Infrastructure as Code (Terraform) לשחזוריות וניהול גרסאות. המהנדסים שלנו הם מומחים מוסמכים של Cloudflare. פנו אלינו לייעוץ — או הזמינו הגדרה כבר עכשיו. עם הגדרת Cloudflare CDN שלנו, לקוח מסחר אלקטרוני אחד חסך $2,000 בחודש ושיפר את טעינת הדף פי 3.







