رکورد CNAME در DNS میگوید «این نام، نام مستعار نام دیگری است». مثلاً cdn.example.com میتواند CNAME به سابدامین اختصاصی شما در CDN باشد؛ هر بار آیپیهای CDN تغییر کنند، دامنهٔ شما خودکار به آیپی جدید میرسد. برای اتصال به CDN کلودیفای، یک سابدامنه را در پنل ثبت کنید، رکورد CNAME آن را بسازید (در Cloudflare حالت DNS only) و منتظر تأیید و صدور خودکار گواهی بمانید.
CNAME و رکورد A چه فرقی دارند؟
| ویژگی | رکورد A | رکورد CNAME |
|---|---|---|
| به چه چیزی اشاره میکند؟ | مستقیماً به یک آیپی (IPv4) | به یک نام دامنهٔ دیگر |
| تغییر آیپی مقصد | باید دستی بهروز شود | خودکار دنبال میشود |
| روی دامنهٔ اصلی (example.com) | مجاز | معمولاً مجاز نیست |
| کاربرد رایج | اتصال دامنه به سرور | اتصال سابدامنه به CDN یا سرویسهای ابری |
نکتهٔ مهم: برای یک نام نمیتوانید همزمان رکورد CNAME و رکورد دیگری (مثل A) داشته باشید. پیش از ساخت CNAME، رکوردهای قبلی همان نام را حذف کنید.
- نام را مستقیماً به یک آیپی IPv4 وصل میکند
- با تغییر آیپی سرور باید دستی عوض شود
- روی ریشهٔ دامنه (example.com) مجاز است
- نام را به یک نام دیگر ارجاع میدهد
- اگر آیپی مقصد عوض شود، خودکار دنبال میشود
- روی ریشهٔ دامنه طبق استاندارد مجاز نیست
اتصال سابدامنه به CDN کلودیفای
- در پنل کلودیفای، CDN را فعال کنید تا سابدامین اختصاصی شما ساخته شود.
- از «مدیریت سرویسها ← دامنهٔ اختصاصی ← افزودن سابدامنه»، نامی مثل cdn.example.com را ثبت کنید.
- در پنل DNS دامنهٔ خود، یک رکورد CNAME با نام cdn و مقدار سابدامین اختصاصیتان بسازید.
- منتظر بمانید تا رکورد تأیید شود؛ سپس گواهی TLS خودکار صادر میشود و وضعیت دامنه «فعال» میشود.
تا زمانی که وضعیت دامنهٔ شخصی «فعال» نشده، از سابدامین اختصاصی کلودیفای استفاده کنید.
تنظیم CNAME در پنلهای رایج
Cloudflare
در بخش DNS گزینهٔ Add record را بزنید، Type را CNAME، Name را سابدامنه (مثلاً cdn) و Target را سابدامین اختصاصی خود قرار دهید. Proxy status را روی DNS only (ابر خاکستری) بگذارید؛ اگر ابر نارنجی باشد، ترافیک از Cloudflare عبور میکند و تأیید دامنه و صدور گواهی انجام نمیشود.
پنلهای DNS ایرانی و پنل هاستینگ
در بخش مدیریت DNS یا Zone Editor، رکورد جدید از نوع CNAME بسازید. در برخی پنلها باید نام کامل (cdn.example.com.) را با نقطهٔ پایانی وارد کنید و در برخی فقط بخش سابدامنه (cdn) را؛ راهنمای همان پنل را دنبال کنید.
مقدار TTL
TTL کوتاه (مثلاً ۳۰۰ ثانیه) باعث میشود تغییرات سریعتر اعمال شوند.
تست رکورد CNAME
در ترمینال لینوکس یا مک:
dig +short cdn.example.com CNAME
dig +short cdn.example.com
در ویندوز:
nslookup -type=CNAME cdn.example.com
خروجی دستور اول باید سابدامین اختصاصی شما باشد. پس از فعال شدن، با دستور زیر هدرها و گواهی را بررسی کنید:
curl -I https://cdn.example.com
خطاهای رایج و راهحل
| مشکل | علت محتمل | راهحل |
|---|---|---|
| دامنه تأیید نمیشود | رکورد A یا AAAA همنام وجود دارد | رکوردهای دیگر همان نام را حذف کنید |
| دامنه تأیید نمیشود | Proxy در Cloudflare روشن است | روی DNS only بگذارید |
| تغییر اعمال نمیشود | TTL قبلی طولانی بوده | تا پایان TTL قبلی صبر کنید |
| خطای گواهی | اتصال پیش از «فعال» شدن دامنه | تا فعال شدن از سابدامین اختصاصی استفاده کنید |
| مقدار اشتباه | تایپ ناقص سابدامین مقصد | مقدار را از پنل کپی کنید |
سایر رکوردهای DNS که باید بشناسید
CNAME فقط یکی از انواع رکوردهای DNS است. برای مدیریت دامنه، این رکوردها را هم بشناسید:
| رکورد | کاربرد | مثال |
|---|---|---|
| A | اتصال نام به آیپی نسخهٔ ۴ | example.com → 203.0.113.10 |
| AAAA | اتصال نام به آیپی نسخهٔ ۶ | example.com → 2001:db8::10 |
| CNAME | نام مستعار برای نام دیگر | cdn.example.com → xyz.provider.net |
| MX | سرور دریافت ایمیل | example.com → mail.example.com (اولویت ۱۰) |
| TXT | متن دلخواه؛ تأیید مالکیت، SPF و DKIM | v=spf1 include:... ~all |
| NS | سرورهای نام دامنه | ns1.dns-provider.com |
| CAA | تعیین مرجع مجاز صدور گواهی SSL | 0 issue "letsencrypt.org" |
نکته دربارهٔ CAA: اگر برای دامنه رکورد CAA تعریف کردهاید، مطمئن شوید مرجعی که CDN یا سرور شما برای صدور گواهی استفاده میکند مجاز باشد؛ وگرنه صدور گواهی خودکار شکست میخورد.
زنجیرهٔ CNAME چطور حل میشود؟
وقتی مرورگر آدرس cdn.example.com را باز میکند:
- از DNS میپرسد آیپی
cdn.example.comچیست. - DNS پاسخ میدهد: این نام CNAME به
xyz.provider.netاست. - مرورگر (در واقع Resolver) آیپی
xyz.provider.netرا میپرسد. - آیپی نهایی برگردانده میشود و اتصال برقرار میشود.
این زنجیره چند میلیثانیه طول میکشد و نتیجه طبق TTL کش میشود. زنجیرههای طولانی (CNAME به CNAME به CNAME) را تا حد امکان کوتاه نگه دارید.
CNAME و ایمیل
یک اشتباه رایج: ساختن CNAME برای نامی که رکورد MX یا TXT هم دارد. چون CNAME نمیتواند با رکورد دیگری همنام باشد، این کار ایمیل دامنه را مختل میکند. به همین دلیل CDN را روی سابدامنهای جدا (مثل cdn یا api) راهاندازی کنید، نه روی دامنهٔ اصلی که ایمیل دارد.
سناریوهای کاربردی CNAME
- www به دامنهٔ اصلی:
www.example.comCNAME بهexample.com. - اتصال به CDN: سابدامنه به آدرس اختصاصی CDN؛ راهنمای عملی در تنظیم CNAME در CDN کلودیفای.
- سرویسهای ابری: فروشگاهساز، سرویس ایمیل مارکتینگ یا صفحهٔ وضعیت که آدرس مقصد خود را برای CNAME میدهند.
- مهاجرت بیدردسر: وقتی آیپی سرویس مقصد عوض میشود، لازم نیست رکورد شما تغییر کند.
پس از تغییر رکورد
تغییرات DNS بسته به TTL قبلی ممکن است از چند دقیقه تا چند ساعت طول بکشد تا همهجا دیده شود. توضیح کامل و روش بررسی در انتشار DNS چقدر طول میکشد. اگر پس از اتصال به CDN سایت باز نشد، سایت پس از اتصال به CDN باز نمیشود را ببینید.
سؤالات متداول
میتوانم دامنهٔ اصلی (بدون www) را CNAME کنم؟
طبق استاندارد DNS معمولاً نه؛ برای دامنهٔ اصلی برخی ارائهدهندگان DNS قابلیت «CNAME Flattening» یا ALIAS دارند. سادهترین راه، استفاده از یک سابدامنه مثل cdn یا api است.
اعمال رکورد CNAME چقدر طول میکشد؟
معمولاً چند دقیقه؛ اگر رکورد قبلی TTL طولانی داشته، تا پایان آن زمان ممکن است طول بکشد.
گواهی SSL را خودم باید نصب کنم؟
خیر؛ پس از تأیید دامنه، گواهی TLS در CDN کلودیفای خودکار صادر و تمدید میشود.
CNAME روی سرعت سایت اثر منفی دارد؟
یک پرسوجوی DNS اضافه انجام میشود که معمولاً چند میلیثانیه است و پس از کش شدن تقریباً بیاثر است.
مقدار CNAME باید با نقطه تمام شود؟
در برخی پنلها نقطهٔ پایانی (FQDN) لازم است و در برخی خودکار اضافه میشود. اگر پنل نقطه را خودکار اضافه نمیکند و شما هم نگذارید، ممکن است نام دامنهٔ شما به انتهای مقدار اضافه شود؛ پس از ذخیره، مقدار را با dig بررسی کنید.
چند سابدامنه میتوانند به یک مقصد CNAME شوند؟
از نظر DNS محدودیتی نیست؛ اما در سرویس مقصد (مثلاً CDN) هر سابدامنه باید جداگانه ثبت و تأیید شود.
از ۱٬۲۰۰ تومان در ساعت · پرداخت ریالی



