وبلاگ نت‌آرامآموزش، تجربه و راهکارهای زیرساخت

خطای تداخل رکورد CNAME چیست و چطور آن را برطرف کنیم؟

علت خطای ثبت CNAME کنار رکورد A یا AAAA را با یک مثال ساده یاد بگیرید و اتصال زیردامنه را درست کنید.

انتشار:
توسط تیم فنی نت‌آرام
۴ دقیقه زمان مطالعه
۰ دیدگاه
محتوای تخصصی، ساده و کاربردی
هماهنگ با هویت حرفه‌ای نت‌آرام
بازگشت به لیست مقالات
تصویر شاخص مقاله خطای تداخل رکورد CNAME چیست و چطور آن را برطرف کنیم؟ در وبلاگ نت‌آرام
محتوای آموزشی وبلاگ نت‌آرام
می‌خواهید زیردامنه سایتتان را به یک سرویس وصل کنید، اما پنل DNS می‌گوید رکورد دیگری با این نام وجود دارد؟ معمولاً مسئله این است که برای همان نام یک رکورد A یا AAAA از قبل ساخته شده و حالا می‌خواهید برایش CNAME هم بگذارید.
خبر خوب این است که لازم نیست همه تنظیمات دامنه را حذف کنید. اول باید معلوم شود کدام نام تداخل دارد و آن نام قرار است به کجا وصل شود.

فرق A و CNAME به زبان ساده

رکورد A نام را به یک آدرس IPv4 وصل می‌کند؛ مثلاً shop.example.com را به یک آدرس سرور. رکورد AAAA نقش مشابهی برای IPv6 دارد. اما CNAME یک نام را به نام دیگر ارجاع می‌دهد؛ مثل اینکه به پستچی بگویید نشانی درست این بخش را از روی نام دیگری پیدا کند.
برای یک نام معمولی در DNS، نمی‌توان CNAME را کنار رکوردهای دیگر همان نام قرار داد. بنابراین اگر shop.example.com یک A دارد، اضافه‌کردن CNAME دیگری برای همان shop.example.com معمولاً رد می‌شود. دقت کنید که shop.example.com و www.example.com دو نام متفاوت‌اند؛ وجود رکورد برای یکی الزاماً مانع تنظیم دیگری نیست.

قدم اول: نشانی و هدف موردنیاز را دقیق بنویسید

فرض کنید سرویس فروشگاهی به شما گفته این رکورد را بسازید:
کد / دستورName: shop Type: CNAME Target: shops.provider.example
این فقط مثال است. به‌جای مقدار نمونه، نشانی‌ای را وارد کنید که شرکت سرویس‌دهنده واقعاً به شما داده است. بعضی پنل‌ها در قسمت Name فقط shop می‌خواهند و بعضی دیگر نام کامل shop.example.com را. متن راهنمای پنل را بخوانید تا دامنه دوبار به نام اضافه نشود.

قدم دوم: رکورد قدیمی همان نام را پیدا کنید

در پنلی که DNS فعال دامنه را مدیریت می‌کند، فهرست رکوردها را باز کنید. در cPanel معمولاً از Domains → Zone Editor → Manage و در Cloudflare از DNS → Records وارد می‌شوید. نام shop را جست‌وجو کنید و نوع و مقدار همه رکوردهای همان نام را یادداشت کنید.
اگر می‌خواهید پاسخ عمومی را هم ببینید، در ویندوز PowerShell را باز کنید:
کد / دستورResolve-DnsName -Name shop.example.com -Type CNAME
در لینوکس یا مک دستور زیر همان نوع رکورد را می‌پرسد:
کد / دستورdig CNAME shop.example.com +short
پاسخ عمومی همیشه جای بررسی پنل را نمی‌گیرد. برای مثال، اگر یک سرویس DNS قابلیت proxy یا flattening داشته باشد، ممکن است پاسخ عمومی به جای خود CNAME، آدرس IP نشان دهد. همچنین پاسخ ذخیره‌شده ممکن است هنوز قدیمی باشد.

قدم سوم: قبل از جایگزینی تصمیم بگیرید

اگر رکورد A قبلی واقعاً برای سرویس قدیمی shop بوده و شما می‌خواهید این نشانی را به سرویس جدید منتقل کنید، مقدار قبلی و TTL آن را ثبت کنید. سپس فقط رکورد مربوط به همان نام را در پنل حذف یا ویرایش کنید و CNAME جدید را با مقصد اعلام‌شده بسازید. روش دقیق ویرایش هر پنل متفاوت است.
اگر مطمئن نیستید رکورد قبلی چه کاری می‌کند، ابتدا از مسئول سایت بپرسید. حذف آن می‌تواند فروشگاه فعلی یا سرویس دیگری را قطع کند. برای مقایسه، www را فقط وقتی تغییر دهید که خود سرویس مقصد از شما خواسته باشد؛ تغییر shop به معنی انتقال خودکار www نیست.
همچنین به دنبال رکوردهای TXT یا MX با همان نام دقیق باشید. آن‌ها ممکن است برای تأیید یا دریافت ایمیل لازم باشند. صرفاً برای رفع خطا همه رکوردها را پاک نکنید؛ ابتدا باید با ارائه‌دهنده درباره نام جایگزین یا روش اتصال سازگار صحبت کنید.

دامنه اصلی با زیردامنه فرق دارد

نام example.com را معمولاً با علامت @ نشان می‌دهند. چون دامنه اصلی رکوردهای ضروری دیگری هم دارد، CNAME معمولی در ریشه با محدودیت روبه‌رو می‌شود. بعضی ارائه‌دهندگان راهکارهایی مانند CNAME flattening یا ALIAS دارند. نام و رفتار این قابلیت در سرویس‌ها متفاوت است؛ از راهنمای همان ارائه‌دهنده کمک بگیرید و رکوردهای ایمیل را برای ساخت CNAME ریشه حذف نکنید.

بعد از ذخیره چه کنیم؟

چند دقیقه بعد پاسخ را دوباره بخوانید و خود نشانی را در مرورگر امتحان کنید. اگر هنوز مقصد قبلی را می‌بینید، ممکن است یک پاسخ قدیمی در کش مانده باشد. مدت انتظار به TTL قبلی و شرایط DNS بستگی دارد؛ راهنمای تغییر DNS و زمان انتشار آن این موضوع را توضیح می‌دهد.
اگر هدف CNAME برای تأیید مالکیت است، دستورالعمل سرویس مقصد را دقیق اجرا کنید. برای نمونه، Cloudflare می‌گوید برخی رکوردهای تأیید باید DNS only باشند و flattening برای آن‌ها خاموش شود؛ در غیر این صورت سرویس مقصد ممکن است خود رکورد را نبیند. جزئیات را در راهنمای رسمی رفع تداخل رکوردهای Cloudflare و راهنمای تأیید CNAME ببینید.
اگر هنوز در مرحله انتخاب نام هستید، در صفحه ثبت دامنه می‌توانید گزینه‌های موجود را ببینید.
اشتراک‌گذاری:
لینکدینتلگرامایکس
مقاله قبلی
مقاله قبلی وجود ندارد.

دیدگاه‌ها (۰)

دیدگاه‌های تاییدشده و پاسخ‌های تیم نت‌آرام