اتصال دامنه به سرور مجازی یکی از مهم‌ترین مراحل راه‌اندازی هر وب‌سایت است. وقتی دامنه‌ای ثبت می‌کنید و یک سرور مجازی تهیه می‌کنید، این دو هنوز به هم متصل نیستند؛ دامنه فقط یک نام است و سرور فقط یک آدرس آی‌پی. برای اینکه کاربران با تایپ نام دامنه به محتوای روی سرور شما برسند، باید این دو را به هم پیوند دهید. در این راهنمای گام‌به‌گام یاد می‌گیرید چطور دامنه را به سرور مجازی متصل کنید، رکوردهای لازم را تنظیم نمایید و سرویس وب را برای پاسخ‌گویی به دامنه پیکربندی کنید.

پیش‌نیازهای اتصال دامنه به سرور

پیش از شروع کار باید چند مورد را آماده داشته باشید. اتصال دامنه به سرور مجازی نیازمند دسترسی به هر دو بخش است تا بتوانید تنظیمات را در جای درست اعمال کنید:

  • یک دامنه ثبت‌شده: دامنه‌ای که مالک آن هستید و به پنل مدیریت DNS آن دسترسی دارید.
  • یک سرور مجازی فعال: سروری با آدرس آی‌پی عمومی که بتوانید محتوای سایت را روی آن قرار دهید.
  • دسترسی به مدیریت DNS دامنه: پنلی که در آن بتوانید رکوردهای A و سایر رکوردها را ویرایش کنید.
  • دسترسی SSH به سرور: برای نصب و پیکربندی وب‌سرور روی سرور مجازی.

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

مرحله اول: پیدا کردن آی‌پی سرور مجازی

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

curl -4 ifconfig.me
# یا
ip addr show

خروجی این دستورها آدرس آی‌پی نسخه ۴ سرور شما را نشان می‌دهد؛ چیزی شبیه 185.192.112.45. این عدد را یادداشت کنید، زیرا در مرحله بعد به آن نیاز دارید. اگر سرور شما آی‌پی نسخه ۶ هم دارد و می‌خواهید از آن استفاده کنید، آن را نیز یادداشت کنید.

مرحله دوم: تنظیم رکوردهای DNS دامنه

اکنون باید به پنل مدیریت DNS دامنه بروید و رکورد A را طوری تنظیم کنید که به آی‌پی سرور اشاره کند. این کار قلب اصلی اتصال دامنه به سرور است. معمولاً دو رکورد اصلی تعریف می‌شود: یکی برای دامنه اصلی و یکی برای زیردامنه www.

نوعناممقصدTTL
A@185.192.112.453600
Awww185.192.112.453600

در پنل مدیریت DNS، این رکوردها را دقیقاً مانند جدول بالا وارد کنید و آی‌پی را با آدرس واقعی سرور خود جایگزین نمایید. علامت @ نماینده خود دامنه اصلی است. برخی پنل‌ها به‌جای @ باید نام کامل دامنه را وارد کنید. پس از ذخیره، تغییرات به‌تدریج در شبکه منتشر می‌شوند.

بررسی انتشار رکورد

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

dig yourdomain.com +short
ping yourdomain.com

اگر خروجی این دستورها همان آی‌پی سرور شما را نشان داد، یعنی رکورد DNS به‌درستی منتشر شده و دامنه اکنون به سرور اشاره می‌کند. حالا باید سرور را برای پاسخ‌گویی به این دامنه آماده کنید.

نکته: اگر پیش از تنظیم رکورد جدید، مقدار TTL را به عدد پایین مانند ۳۰۰ ثانیه کاهش دهید، تغییرات بعدی سریع‌تر اعمال می‌شوند. این کار در زمان مهاجرت سرور بسیار مفید است.

مرحله سوم: پیکربندی وب‌سرور روی سرور مجازی

اتصال DNS به‌تنهایی کافی نیست؛ سرور شما هم باید بداند که برای این دامنه چه محتوایی نمایش دهد. برای این کار باید یک وب‌سرور مانند Nginx یا Apache نصب و پیکربندی کنید. در ادامه نمونه‌ای از تنظیم Nginx را می‌بینید.

نصب Nginx

ابتدا با اتصال SSH به سرور، وب‌سرور را نصب کنید. روی توزیع‌های مبتنی بر دبیان و اوبونتو دستورها به این شکل است:

sudo apt update
sudo apt install nginx -y
sudo systemctl enable --now nginx

ساخت فایل پیکربندی دامنه

سپس یک فایل پیکربندی برای دامنه خود بسازید تا Nginx بداند درخواست‌های مربوط به این دامنه را چطور پاسخ دهد. یک فایل در مسیر /etc/nginx/sites-available/ بسازید:

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;
    root /var/www/yourdomain/public;
    index index.html index.php;

    location / {
        try_files $uri $uri/ =404;
    }
}

سپس این پیکربندی را فعال کنید و Nginx را دوباره بارگذاری نمایید:

sudo ln -s /etc/nginx/sites-available/yourdomain /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

حالا اگر دامنه را در مرورگر باز کنید، محتوای پوشه‌ای که در بخش root مشخص کرده‌اید نمایش داده می‌شود. اگر سایت شما با زبان‌های برنامه‌نویسی یا سیستم‌های مدیریت محتوا کار می‌کند، باید تنظیمات مربوط به آن‌ها را هم اضافه کنید.

مرحله چهارم: فعال‌سازی گواهی SSL

پس از اتصال دامنه به سرور، حتماً گواهی SSL نصب کنید تا سایت شما با پروتکل امن HTTPS بالا بیاید. بدون SSL، مرورگرها سایت شما را ناامن نشان می‌دهند و اعتماد کاربر کاهش می‌یابد. ساده‌ترین راه، استفاده از ابزار رایگان Let's Encrypt از طریق Certbot است:

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

Certbot به‌صورت خودکار گواهی را دریافت کرده، پیکربندی Nginx را به‌روز می‌کند و تمدید خودکار را هم تنظیم می‌کند. پس از این مرحله، سایت شما روی HTTPS در دسترس خواهد بود و قفل امنیت در مرورگر نمایش داده می‌شود.

توصیه امنیتی: پس از فعال کردن SSL، ترافیک HTTP را به HTTPS هدایت (Redirect) کنید تا همه کاربران به‌صورت خودکار به نسخه امن سایت منتقل شوند. Certbot معمولاً این گزینه را در حین نصب پیشنهاد می‌دهد.

مشکلات رایج در اتصال دامنه و راه‌حل آن‌ها

گاهی پس از انجام مراحل، سایت بالا نمی‌آید. رایج‌ترین دلایل و راه‌حل‌ها عبارت‌اند از: اگر دامنه به آی‌پی درست اشاره نمی‌کند، احتمالاً رکورد A هنوز منتشر نشده یا در پنل اشتباه ثبت شده است؛ صبر کنید یا رکورد را بازبینی کنید. اگر خطای اتصال می‌گیرید، ممکن است فایروال سرور پورت‌های ۸۰ و ۴۴۳ را بسته باشد؛ این پورت‌ها را باز کنید. اگر صفحه پیش‌فرض Nginx نمایش داده می‌شود، یعنی فایل پیکربندی دامنه فعال نشده است.

برای رفع مشکل فایروال روی سرورهای اوبونتو می‌توانید از دستورهای زیر استفاده کنید:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload

اگر همه این موارد را بررسی کردید و همچنان مشکل داشتید، بررسی لاگ‌های Nginx در مسیر /var/log/nginx/error.log معمولاً علت دقیق را نشان می‌دهد. برای آشنایی بیشتر با تنظیمات دامنه و DNS می‌توانید به مقالات رپیدو سرور مراجعه کنید و اگر هنوز دامنه ندارید، از بخش ثبت دامنه اقدام نمایید.

میزبانی چند سایت روی یک سرور

یکی از مزایای بزرگ سرور مجازی این است که می‌توانید چند دامنه و چند سایت را روی همان یک سرور میزبانی کنید. این کار در هزینه‌ها صرفه‌جویی می‌کند و مدیریت را ساده‌تر می‌سازد. برای این منظور، هر دامنه باید رکورد A خود را به آی‌پی همان سرور اشاره دهد و در وب‌سرور، برای هر دامنه یک بلوک پیکربندی جداگانه تعریف شود.

در Nginx این کار با ساختن چند فایل در پوشه sites-available انجام می‌شود که هرکدام server_name و root مخصوص خود را دارند. برای مثال دو سایت مختلف را به این شکل تعریف می‌کنید:

server {
    listen 80;
    server_name site-a.com www.site-a.com;
    root /var/www/site-a/public;
}
server {
    listen 80;
    server_name site-b.com www.site-b.com;
    root /var/www/site-b/public;
}

وب‌سرور بر اساس مقدار server_name تشخیص می‌دهد که هر درخواست مربوط به کدام سایت است و محتوای درست را نمایش می‌دهد. به این قابلیت میزبانی مجازی مبتنی بر نام (Name-based Virtual Hosting) گفته می‌شود و ستون فقرات میزبانی اشتراکی محسوب می‌شود. هر سایت می‌تواند گواهی SSL جداگانه خود را هم داشته باشد.

تنظیم زیردامنه‌ها روی سرور

علاوه بر دامنه اصلی، اغلب لازم است زیردامنه‌هایی مانند وبلاگ، فروشگاه یا پنل مدیریت را هم به سرور متصل کنید. فرایند مشابه دامنه اصلی است؛ ابتدا در پنل DNS یک رکورد A برای زیردامنه ایجاد می‌کنید و سپس در وب‌سرور یک بلوک پیکربندی برای آن می‌سازید.

Type    Name    Value             TTL
A       blog    185.192.112.45    3600
A       shop    185.192.112.45    3600

پس از انتشار این رکوردها، در Nginx یک server block با server_name برابر blog.yourdomain.com می‌سازید و پوشه محتوای مربوط به آن را مشخص می‌کنید. به این ترتیب هر زیردامنه می‌تواند سایت یا سرویس کاملاً مستقلی را میزبانی کند، در حالی که همگی روی یک سرور اجرا می‌شوند.

نکته: هنگام گرفتن گواهی SSL با Certbot، می‌توانید همه دامنه‌ها و زیردامنه‌ها را با پرچم d- در یک دستور اضافه کنید تا همگی زیر یک گواهی پوشش داده شوند و مدیریت ساده‌تر شود.

نکات عملکرد و امنیت پس از اتصال

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

  • فعال کردن فشرده‌سازی: فعال کردن gzip یا brotli در Nginx حجم انتقال داده را کاهش داده و سرعت بارگذاری را بالا می‌برد.
  • تنظیم کش مرورگر: با تعریف هدرهای کش برای فایل‌های ثابت، بازدیدهای بعدی کاربر سریع‌تر می‌شوند.
  • محدود کردن دسترسی SSH: استفاده از کلید به‌جای رمز عبور و تغییر پورت پیش‌فرض SSH امنیت سرور را بالا می‌برد.
  • به‌روزرسانی منظم: بسته‌های سیستم و وب‌سرور را مرتب به‌روز کنید تا آسیب‌پذیری‌های امنیتی برطرف شوند.

همچنین توصیه می‌شود از سرور خود نسخه پشتیبان منظم بگیرید تا در صورت بروز مشکل، بتوانید سایت را سریع بازیابی کنید. بسیاری از ارائه‌دهندگان امکان تهیه اسنپ‌شات یا بکاپ خودکار را فراهم می‌کنند که استفاده از آن‌ها اکیداً توصیه می‌شود. با رعایت این نکات، سایت شما نه‌تنها به دامنه متصل می‌شود، بلکه سریع، امن و پایدار باقی می‌ماند.

مانیتورینگ و نگهداری پس از راه‌اندازی

پس از اینکه دامنه به سرور متصل شد و سایت روی HTTPS بالا آمد، کار مدیریت تازه شروع می‌شود. برای اینکه سایت شما همیشه در دسترس و سریع بماند، باید به‌طور منظم وضعیت سرور و دامنه را زیر نظر داشته باشید. مانیتورینگ به شما کمک می‌کند پیش از اینکه کاربران متوجه مشکل شوند، آن را شناسایی و رفع کنید.

مهم‌ترین مواردی که باید پایش کنید عبارت‌اند از در دسترس بودن سایت (Uptime)، مصرف منابع سرور مانند پردازنده و حافظه، فضای دیسک و تاریخ انقضای گواهی SSL. اگرچه Certbot تمدید SSL را خودکار انجام می‌دهد، بهتر است گاهی از کار کردن درست آن مطمئن شوید. برای بررسی سریع وضعیت سرویس‌ها می‌توانید از دستورهای زیر استفاده کنید:

sudo systemctl status nginx
df -h
sudo certbot certificates

همچنین توصیه می‌شود یک سیستم هشدار راه‌اندازی کنید که در صورت از دسترس خارج شدن سایت یا نزدیک شدن به انقضای گواهی، به شما اطلاع دهد. با نگهداری منظم و پایش مداوم، اتصال دامنه به سرور شما نه‌تنها یک‌بار برقرار می‌شود، بلکه در بلندمدت پایدار و مطمئن باقی می‌ماند و کسب‌وکار آنلاین شما بدون وقفه به کار خود ادامه می‌دهد.

سوالات متداول

چرا بعد از تنظیم رکورد A هنوز سایتم بالا نمی‌آید؟

معمولاً به دلیل انتشار نشدن کامل DNS است که تا چند ساعت زمان می‌برد. همچنین مطمئن شوید وب‌سرور روی سرور نصب و برای دامنه پیکربندی شده و پورت‌های ۸۰ و ۴۴۳ در فایروال باز هستند.

آیا برای هر دامنه به سرور جداگانه نیاز دارم؟

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

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

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

آیا نصب SSL ضروری است؟

بله، نصب SSL امروزه تقریباً اجباری است. بدون آن مرورگرها سایت را ناامن نشان می‌دهند، رتبه سئوی سایت کاهش می‌یابد و اعتماد کاربران از بین می‌رود. خوشبختانه با Let's Encrypt می‌توانید گواهی معتبر را رایگان دریافت کنید.