یک هفته پیش، مشتری‌ای زنگ زد که سایت جدیدش بالا نمی‌آید، درحالی‌که هاست و دامنه را هم‌زمان خریده بود. بررسی کردم و دیدم دامنه به هاست وصل است اما به Nameserver اشتباه؛ نتیجه‌اش هم این شده که سایت روی IP بی‌ربط پاسخ می‌داد. این تجربه، سؤال همیشگی تازه‌کارها را برایم زنده کرد: اتصال دامنه به هاست چقدر پیچیده است؟ در واقع، فقط یک مفهوم ساده در پشتش است که اگر درک شود، هر چالشی در این حوزه حل می‌شود.

اتصال هاست به دامنه دقیقاً چه چیزی را عوض می‌کند؟

برای فهم درست اتصال، اول باید بدانید دامنه و هاست دو موجودیت کاملاً جدا هستند. دامنه فقط یک نام و یک دفترچه آدرس است؛ هاست فضای فیزیکی روی یک سرور (Server) با یک نشانی IP مشخص. بین این دو، چیزی به‌نام DNS (Domain Name System) قرار می‌گیرد که کارش ترجمهٔ نام دامنه به IP سرور است.

پس وقتی می‌گوییم «هاست را به دامنه وصل می‌کنیم»، در واقع داریم به سیستم DNS می‌گوییم: هر وقت کسی این نام دامنه را وارد کرد، پاسخ را از این IP بگیر. به همین دلیل است که اتصال هاست به دامنه، در عمل یعنی اتصال دامنه به یک سرور مشخص — نه چیزی بیش‌تر، نه چیزی کمتر.

دامنه اسم خانه است، هاست خود خانه، DNS کتابچهٔ آدرس. اتصال، فقط به‌روزرسانی همین کتابچه است.

پیش از هر تغییری: دو عدد را ثبت کنید

دو عددی که پیش از هر تغییری باید روی کاغذ داشته باشید:

  1. IP سرور مقصد: در پنل هاست (در cPanel معمولاً در کارت Server Information یا در صفحهٔ Shared IP Address) قابل مشاهده است. اگر تازه هاست خریدید و IP را نمی‌دانید، از پشتیبانی بپرسید.
  2. Nameserverهای هاست مقصد: به شکل ns1.example.com و ns2.example.com. این‌ها را در همان ایمیل خوش‌آمد هاست یا در بخش DNS پنل هاست پیدا می‌کنید.

بدون این دو عدد، هر تغییری در DNS فقط آزمون‌وخطا می‌شود و در بدترین حالت، سایت شما چند ساعت از دسترس خارج می‌شود.

دو مسیر اتصال: Nameserver یا رکوردهای DNS

دو راه برای اتصال دامنه به هاست وجود دارد و انتخاب بین این دو، بسته به این است که پنل DNS دامنه‌تان کجاست:

مسیرچه زمانیمزیت
تغییر Nameserverپنل دامنه و هاست، هر دو در اختیار شماساده، یک‌بار، همه‌چیز با هاست می‌آید
ویرایش رکوردهای DNSDNS دامنه جای دیگری میزبانی می‌شودکنترل دقیق، مناسب ایمیل‌های موجود

در اکثر پروژه‌های تازه‌کار، مسیر اول کافی است. اما وقتی سایت قدیمی دارید که ایمیل سازمانی روی همان دامنه در جریان است، مسیر دوم امن‌تر است.

مسیر اول — تغییر Nameserver (ساده‌ترین راه)

اگر دامنه و هاست را از یک شرکت گرفتید یا از دو شرکت مختلف اما می‌خواهید همه‌چیز از پنل هاست مدیریت شود، این مسیر را برو.

گام ۱: ورود به پنل دامنه

وارد پنل ثبت‌کنندهٔ دامنه (Registrar) شوید — همان جایی که دامنه را خریدید. در منوی مدیریت دامنه، گزینه‌ای مثل «DNS Management»، «Nameserver» یا «مدیریت دامنه» را باز کنید.

گام ۲: جایگزینی Nameserverها

Nameserverهای فعلی را با دو Nameserver هاست مقصد جایگزین کنید. معمولاً به شکل ns1.example.com و ns2.example.com هستند. بعضی هاست‌ها چهار Nameserver می‌دهند؛ همه را وارد کنید.

گام ۳: تأیید و انتظار

ذخیره کنید. ثبت‌کننده معمولاً یک ایمیل تأیید ارسال می‌کند. اگر نرسید، صبر کنید تا تأیید برسد و از پنل دامنه، وضعیت را چک کنید. زمان اعمال، از چند ساعت تا ۲۴ ساعت متغیر است.

تغییر Nameserver، یک تصمیم یک‌بارمصرف است. اگر بعداً بخواهید ایمیل را جای دیگری ببرید، باید همین مسیر را برگردید — پس آن را با احتیاط انتخاب کنید.

مسیر دوم — ویرایش رکوردهای DNS

اگر می‌خواهید DNS روی پنل فعلی بماند (مثلاً ایمیلی که روی همان دامنه در جریان است نباید قطع شود)، به‌جای تغییر Nameserver، رکوردهای DNS را ویرایش کنید.

رکورد A (Address) را به IP جدید تغییر دهید

در پنل DNS دامنه، رکورد A برای نام @ (ریشهٔ دامنه) و www را با IP سرور هاست جدید عوض کنید. پاک‌کردن رکورد قدیم و افزودن رکورد جدید معمولاً یک دقیقه وقت می‌گیرد.

رکورد CNAME را برای www تنظیم کنید

اگر می‌خواهید www.example.com هم به همان سرور برود، یک رکورد CNAME به example.com بسازید یا رکورد A مستقل بدهید. جزئیات رکوردها در ادامهٔ همین مطلب می‌آید.

اگر ایمیل دارید، MX را دست نزنید

رکورد MX (Mail Exchange) مسئول تحویل ایمیل‌های دامنه است. هر تغییری در آن، می‌تواند صندوق پستی شما را از کار بیندازد. اگر مطمئن نیستید، فقط رکورد A را عوض کنید و MX را رها بگذارید. مکانیزم تنظیم MX را در راه‌اندازی ایمیل سازمانی با هاست جداگانه توضیح داده‌ام.

انواع رکوردهای DNS و نقش هرکدام

وقتی وارد پنل DNS می‌شوید، فهرستی از رکوردها می‌بینید که برای تازه‌کارها گیج‌کننده است. جدول کوتاه زیر، سریع همه‌چیز را روشن می‌کند:

نوع رکوردنقشمثال کاربرد
Aنام دامنه را به IP آی‌پی‌وی۴ نگاشت می‌کنداتصال دامنه اصلی به سرور هاست
AAAAمثل A، اما برای IPv6سایت‌های روی IPv6
CNAMEنام دامنه را به نام دامنهٔ دیگر نگاشت می‌کنداتصال www به دامنهٔ اصلی
MXسرور دریافت ایمیل را مشخص می‌کندایمیل سازمانی @example.com
TXTمتن دلخواه، برای تأیید و امنیتSPF (Sender Policy Framework)، DKIM (DomainKeys Identified Mail)
NSNameserver دامنه را اعلام می‌کنداتصال کامل به هاست از طریق Nameserver

یک نکتهٔ فنی که تازه‌کارها معمولاً از آن بی‌خبرند: رکورد A فقط در سطح «نام» عمل می‌کند، نه در سطح «مسیر». یعنی اگر بخواهید example.com/blog را به جای دیگری ببرید، این با DNS حل نمی‌شود؛ باید در خود سرور مقصد با ریدایرکت یا Reverse Proxy انجام دهید. این تفکیک، یک باور غلط رایج را از بین می‌برد.

پروپاگیشن DNS: چرا بلافاصله دیده نمی‌شود؟

پس از هر تغییر در DNS، پاسخ‌ها فوراً روی همهٔ اینترنت پخش نمی‌شوند. مکانیزم به این شکل است که هر بار یک سرویس‌دهندهٔ اینترنت (ISP — Internet Service Provider) درخواست DNS می‌فرستد، پاسخی را برای مدتی کش (Cache) می‌کند. این مدت، TTL (Time To Live) نام دارد و معمولاً بین ۳۶۰۰ و ۸۶۴۰۰ ثانیه تنظیم شده است.

یعنی بعد از تغییر، تا انقضای TTL، بعضی کاربران IP قدیمی و بعضی IP جدید را می‌بینند. به این دورهٔ گذار، «پروپاگیشن» یا انتشار DNS می‌گویند. تجربه‌ام می‌گوید این مرحله بیشتر از هر چیز اعصاب کاربران را می‌خورد، درحالی‌که طبیعی است.

ترفند عملی: اگر می‌خواهید تغییرتان سریع‌تر اعمال شود، پیش از تغییر، TTL را به ۳۰۰ (پنج دقیقه) کاهش دهید و یک روز بعد تغییر اصلی را بدهید. این کار در پروژه‌های مهاجرت، تفاوت چند ساعته با چند دقیقه‌ای ایجاد می‌کند. جزئیات تنظیم TTL در DNS چیست و چگونه کار می‌کند و در رکوردهای DNS کدامند آمده است.

تست اتصال: چطور بفهمیم درست کار می‌کند؟

پس از انتظار اولیه، چند آزمون سریع وجود دارد که بدون حدس، وضعیت را روشن می‌کند:

  1. مرورگر با حالت ناشناس: کش مرورگر خودتان را دور می‌زند و واقعیت را نشان می‌دهد.
  2. ابزار check-host یا dnschecker: از چند نقطهٔ جهان، رکورد A دامنهٔ شما را می‌خواند و می‌گوید کدام نقطه IP جدید را می‌بیند. اگر بیش از دو نقطه از پنج نقطه، IP جدید را دیدند، پروپاگیشن تقریباً تمام است.
  3. دستور nslookup در ترمینال: با nslookup example.com یا nslookup example.com 8.8.8.8 می‌توانید مستقیم از DNS گوگل بپرسید. پاسخ سریع‌تر از انتظار مرورگر است.

اگر مرورگر همچنان IP قدیمی را نشان می‌دهد ولی ابزارهای آنلاین IP جدید را تأیید می‌کنند، مشکل از کش محلی است — با پاک‌کردن کش DNS سیستم یا عوض‌کردن شبکه، حل می‌شود. این تجربه بارها پیش آمده و همیشه با یک ipconfig /flushdns (روی ویندوز) یا sudo systemd-resolve --flush-caches (روی لینوکس) تمام شده است.

گام بعدی: SSL و HTTPS

بعد از موفقیت اتصال، باید گواهی SSL (Secure Sockets Layer) را روی دامنه فعال کنید. اگر این گام را رد کنید، سایت روی http:// باز می‌شود و مرورگر پیام «نقش‌های امنیتی وصل نیست» را نشان می‌دهد. مرورگرهای امروزی، سایت‌های بدون HTTPS را به‌عنوان ناایمن علامت می‌زنند که هم روی نرخ تبدیل اثر می‌گذارد، هم مستقیم روی رتبه در گوگل. راهنمای نصب و فعال‌سازی را در چگونه SSL سایت را نصب و فعال کنیم و دلیل اهمیتش را در SSL چیست و چرا سایت به آن نیاز دارد باز کرده‌ام. اگر سایت جدید است، پس از راه‌اندازی SSL، مرحلهٔ بعد نصب وردپرس است — مسیرش در آموزش نصب وردپرس روی هاست برای مبتدیان قدم‌به‌قدم آمده.

ایمیل سازمانی، پیچیدگی پنهان تغییر Nameserver

بزرگ‌ترین فاجعه‌ای که در پروژه‌ها دیده‌ام این بوده: تغییر Nameserver باعث می‌شود که ثبت‌های DNS موجود روی هاست قبلی از دید اینترنت حذف شوند. یعنی اگر ایمیل سازمانی روی هاست قبلی تنظیم بود، با تغییر Nameserver، همان لحظه ایمیل‌ها متوقف می‌شوند — چون MX Recordها هم از بین رفته‌اند.

اگر ایمیلی روی دامنه در جریان است، پیش از تغییر Nameserver، دو راه دارید:

  • همهٔ رکوردهای DNS (به‌ویژه MX و TXT) را روی هاست جدید هم بسازید، سپس Nameserver را عوض کنید.
  • مسیر دوم را انتخاب کنید: به‌جای تغییر Nameserver، فقط رکورد A را تغییر دهید و MX را دست نزنید.

در پروژه‌ای که خودم مسئول مهاجرت بودم، همین اشتباه باعث شد یک هفته ایمیل‌های مشتری گم شود. از آن روز، هر پروندهٔ انتقال هاست را با یک جدول ساده شروع می‌کنم که در آن، همهٔ رکوردهای DNS فعلی دامنه یک‌به‌یک ثبت شده‌اند تا مبادا در تغییر، چیزی قربانی شود.

تغییر Nameserver، تصمیمی دربارهٔ DNS دامنه است، نه فقط اتصال یک سایت. قبل از هر تغییری، نقشهٔ کامل DNS خود را بکشید.

اشتباهات رایج در اتصال دامنه به هاست

  • عوض‌کردن Nameserver بدون دانستن اثرش روی ایمیل: رایج‌ترین و گران‌ترین اشتباه. اگر روی دامنه ایمیل فعال است، پیش از تغییر، همهٔ رکوردهای MX و TXT را روی هاست مقصد بسازید.
  • فراموش‌کردن www: بعضی Nameserverها فقط برای دامنهٔ اصلی تنظیم می‌شوند و www پشت‌بند می‌ماند. یک رکورد CNAME به دامنهٔ ریشه همیشه راهکار است.
  • انتظار نتیجهٔ آنی: کاربر انتظار دارد سایت فوراً بالا بیاید، درحالی‌که پروپاگیشن ممکن است چند ساعت طول بکشد. برای کاهش این درد، TTL را از قبل کاهش دهید.
  • تغییر رکوردها هنگام اوج ترافیک: اگر سایت قدیمی روی هاست قدیم ترافیک دارد، تغییر را در ساعات کم‌ترافیک انجام دهید. کاربری که وسط خرید است و ناگهان IP جدید را می‌بیند، تجربهٔ بدی دارد.
  • مشکل با SSL بعد از جابجایی: گواهی SSL معمولاً به دامنه گره می‌خورد، نه IP. اما بعضی هاست‌ها رکوردها را اشتباه تنظیم می‌کنند و بعد از تغییر، «mixed content» ظاهر می‌شود. جزئیات در «خطای SSL چیست و چگونه رفع می‌شود» آمده است.

جمع‌بندی در سه سطر

اتصال هاست به دامنه، یعنی به‌روزرسانی مکانیزمی که نام دامنه را به IP سرور ترجمه می‌کند. دو مسیر پیش روی شماست — تغییر Nameserver (ساده، مناسب پروژه‌های تازه) و ویرایش رکوردهای A (دقیق، مناسب پروژه‌هایی با ایمیل در جریان). پس از هر تغییر، تا انقضای TTL صبر کنید، سپس با ابزارهای آنلاین و حالت ناشناس مرورگر وضعیت را تأیید کنید. اگر این مسیر را درست طی کنید، اتصال یک‌بار تمام می‌شود و دیگر به آن برنمی‌گردید.

اگر در تجربهٔ خودتان به مورد جالبی برخوردید — مثلاً جایی که پروپاگیشن بیشتر از حد معمول طول کشید یا مشکل خاصی در ایمیل پیش آمد — خوشحال می‌شوم در دیدگاه‌ها بخوانم. تجربه‌های واقعی، از هر مستند رسمی برای خوانندهٔ بعدی مفیدترند. 🌐