עודכן לפני חודש
רשומת CNAME אומרת: "אין לי את כתובת ה-IP. תשאל אותם."
זהו המנגנון כולו. כשאתה מבצע חיפוש עבור www.example.com ומוצא רשומת CNAME שמצביעה על example.com, ה-DNS עוקב אחרי המצביע ושואל את השם הקנוני (הרשמי) לקבלת התשובה האמיתית. הרזולבר ממשיך לעקוב עד שהוא מגיע לכתובת IP בפועל.
השדה הראשון הוא הכינוי (מה שמישהו חיפש). השדה האחרון הוא השם הקנוני (היכן למצוא את התשובה האמיתית).
רשומת CNAME לא רק מצביעה על שם אחר — היא מאצילה שליטה. אתה אומר: "אני לא מנהל את התשובה הזו. הם כן."
מדוע רשומות CNAME חשובות
בעיית ה-WWW: הצבע www.example.com על example.com. כשכתובת ה-IP של השרת שלך משתנה, עדכן רשומת A אחת. ה-CNAME יעקוב אחריה אוטומטית.
רשתות הפצת תוכן: צור cdn.example.com שמצביע על customer123.cdn-provider.net. ספק ה-CDN מנהל את התשתית שלו — כשהם צריכים לנתב את התעבורה שלך לשרתים שונים לצורך ביצועים או failover, הם מעדכנים את ה-DNS שלהם. ה-CNAME שלך ממשיך לפעול כי האצלת את השליטה.
אינטגרציית SaaS: מערכות helpdesk, פלטפורמות מסחר אלקטרוני ושירותים אחרים מבקשים ממך ליצור רשומות CNAME כמו support.example.com שמצביעות על customer-name.helpdesk-service.com. אתה מקבל כתובות URL ממותגות; הם מנהלים את התשתית.
ניהול סביבות: הצבע staging.example.com על שרתים שונים מבלי לשנות קוד אפליקציה. כשסביבת ה-staging עוברת לתשתית חדשה, עדכן את יעד ה-CNAME.
בעיית ראש האזור
לא ניתן ליצור רשומת CNAME עבור example.com עצמו — רק עבור תת-דומיינים כמו www.example.com.
זה לא שרירותי. שני כללי DNS מתנגשים:
- ראש האזור חייב לכלול רשומות SOA (Start of Authority) ו-NS (Name Server)
- שם שיש לו רשומת CNAME לא יכול לכלול שום רשומה אחרת
שני הכללים הגיוניים. רשומות SOA ו-NS נדרשות כדי שהאזור יפעל. ואם קיימת רשומת CNAME, הרזולבר חייב לעקוב אחריה — רשומות אחרות באותו שם יצרו עמימות לגבי איזו תשובה היא סמכותית.
התוצאה: מכיוון שראש האזור מחייב סוגים מרובים של רשומות, רשומות CNAME אסורות שם.
הבעיה המעשית: אתה רוצה ש-example.com וגם www.example.com יגיעו ל-CDN שלך, אבל ה-CDN מחייב רשומת CNAME, ולא ניתן ליצור אחת בראש האזור.
פתרונות עקיפין
רשומות ALIAS/ANAME: ספקי DNS מסוימים מציעים סוגי רשומות קנייניים שמתנהגים כמו רשומות CNAME בראש האזור אבל מחזירים רשומות A בתגובה לשאילתות. Cloudflare קוראת לזה "CNAME flattening". Route 53 קוראת להם "Alias records". לא מתוקנן, ולכן הזמינות משתנה לפי ספק.
רשומות A מרובות: הצבע גם את ראש האזור וגם את www ישירות לכתובות IP. עדכן את שניהם כשכתובות ה-IP משתנות. עובד בכל מקום.
הפנייה מחדש HTTP: הצבע את ראש האזור על שרת הפנייה פשוט שמפנה דפדפנים אל www.example.com. תת-הדומיין www משתמש ברשומת CNAME. מוסיף קפיצת הפנייה אחת אבל עובד בצורה אמינה.
מעקב אחר השרשרת
רשומות CNAME יכולות להצביע על רשומות CNAME אחרות:
הרזולבר עוקב אחר כל מצביע עד שהוא מוצא כתובת IP. שלושה חיפושים בשביל תשובה אחת.
עלות ביצועים
כל CNAME בשרשרת עלול לדרוש שאילתת DNS נוספת. אם כל שאילתה לוקחת 50ms, שרשרת בת שתי רמות מוסיפה 100ms לפני שהדפדפן יכול אפילו להתחיל להתחבר.
ערכי TTL של רשומות CNAME מחמירים את הבעיה. לרשומת ה-CNAME עצמה יש TTL נפרד מרשומת ה-A הסופית. ערכי TTL לא תואמים עלולים לגרום למטמון מיושן או לפתרון חוזר מיותר.
שמור על שרשראות קצרות: רמה אחת או שתיים לכל היותר. שרשראות ארוכות יותר מגבירות את זמן ההשהיה ומגדילות את נקודות הכשל. כשביצועים חשובים, רשומות A ישירות מנצחות — אבל אז מאבדים את האצילה שהופכת רשומות CNAME לשימושיות.
שאלות נפוצות על רשומות CNAME
האם אוכל להשתמש ברשומת CNAME עבור הדומיין הראשי שלי?
לא. ראש האזור (example.com ללא תת-דומיין) לא יכול לכלול רשומת CNAME. ראש האזור חייב לכלול רשומות SOA ו-NS, שאינן יכולות להתקיים יחד עם רשומות CNAME. השתמש ברשומות ALIAS/ANAME אם ספק ה-DNS שלך תומך בהן, או הצבע את ראש האזור ישירות לכתובות IP עם רשומות A.
מה קורה אם היעד של ה-CNAME שלי קורס?
הכינוי שלך נכשל גם הוא. אם www.example.com מצביע על hosting.provider.com וה-DNS של הספק הזה מפסיק להגיב, חיפושים עבור הדומיין שלך נכשלים. אתה תלוי בזמינות של כל דומיין בשרשרת — זו עלות האצילה.
כמה זמן צריך להיות ה-TTL של ה-CNAME שלי?
איזן בין גמישות לביצועים. ערכי TTL קצרים יותר (300–3600 שניות) מאפשרים לך לשנות יעדים במהירות אבל מגדילים את עומס שאילתות ה-DNS. ערכי TTL ארוכים יותר (86400 שניות) מפחיתים שאילתות אבל מעכבים את התפשטות השינויים. התאם את ה-TTL שלך לתדירות שבה אתה מצפה לשנות את היעד.
האם אני יכול להצביע CNAME לכתובת IP?
לא. רשומות CNAME חייבות להצביע על שמות דומיין, לא על כתובות IP. אם אתה רוצה להצביע ישירות לכתובת IP, השתמש ברשומת A (עבור IPv4) או רשומת AAAA (עבור IPv6).
אילו ספקי DNS תומכים ב-CNAME flattening?
ספקים מרכזיים עם תמיכה כוללים את Cloudflare (CNAME flattening), Amazon Route 53 (Alias records), Azure DNS (alias records), DNS Made Easy (ANAME), Namecheap (ALIAS), DNSimple (ALIAS), ו-Name.com (ANAME). רבים מהרשמים הקטנים יותר ולוחות הבקרה של אחסון משותף אינם תומכים בתכונה זו.
האם דף זה היה מועיל?