آموزش اتصال دامنه به سرور و VPS؛ از تنظیم DNS تا SSL
اتصال دامنه به سرور یعنی تنظیم DNS دامنه به شکلی که وقتی کاربر آدرس سایت مانند example.com را وارد میکند، درخواست او به IP سروری برسد که وبسایت یا سرویس شما روی آن اجرا شده است. در سادهترین حالت، برای اتصال دامنه به VPS کافی است IP عمومی سرور را داشته باشید، یک رکورد A برای دامنه ایجاد کنید، دامنه را در Web Server مانند Nginx یا Apache تعریف کنید و در نهایت HTTPS و SSL را فعال کنید.
اما در عمل چند نکته مهم وجود دارد: DNS دامنه کجا مدیریت میشود؟ آیا باید Name Server را تغییر دهید یا فقط A Record کافی است؟ برای www چه رکوردی لازم است؟ چرا گاهی دامنه به IP درست اشاره میکند اما سایت باز نمیشود؟ در این راهنما از ابر ماهان تمام این مراحل را قدمبهقدم بررسی میکنیم.
| مرحله | کاری که باید انجام دهید | نتیجه مورد انتظار |
|---|---|---|
| 1 | IP عمومی سرور را دریافت کنید | آدرس مقصد دامنه مشخص میشود |
| 2 | محل مدیریت DNS را پیدا کنید | مشخص میشود رکوردها را کجا تغییر دهید |
| 3 | A/AAAA و CNAME را تنظیم کنید | دامنه به IP سرور اشاره میکند |
| 4 | دامنه را روی Web Server تعریف کنید | سرور درخواست دامنه را میشناسد |
| 5 | DNS و HTTP را تست کنید | خطاهای تنظیمات مشخص میشوند |
| 6 | SSL را فعال کنید | سایت از طریق HTTPS در دسترس قرار میگیرد |
اتصال دامنه به سرور چگونه کار میکند؟
هنگامی که کاربر نام دامنهای مانند example.com را در مرورگر وارد میکند، DNS باید مشخص کند این دامنه به چه IP Addressی مرتبط است. برای یک سرور دارای IPv4 معمولاً از A Record استفاده میشود. اگر سرور IPv6 داشته باشد، AAAA Record نیز قابل استفاده است.
Cloudflare در مستندات DNS خود درباره این دو رکورد میگوید:
“A and AAAA records map a domain name to one or multiple IPv4 or IPv6 address(es).”
ترجمه: «رکوردهای A و AAAA نام دامنه را به یک یا چند آدرس IPv4 یا IPv6 متصل میکنند.»
منبع: Cloudflare DNS Documentation.
اگر میخواهید ابتدا ساختار DNS و نحوه تبدیل دامنه به IP را بهتر بشناسید، راهنمای سرور DNS چیست؟ را بخوانید.
قبل از اتصال دامنه به سرور چه چیزهایی نیاز داریم؟
برای شروع، سه مورد اصلی لازم است: یک دامنه ثبتشده، یک سرور یا VPS دارای IP قابل دسترس و دسترسی به پنل مدیریت DNS دامنه.
برخلاف چیزی که در بعضی آموزشها گفته میشود، برای خرید دامنه نیازی نیست از قبل Server داشته باشید. دامنه و Hosting دو سرویس مستقل هستند. میتوانید دامنه را ثبت کنید و بعداً آن را به هر Hosting، VPS یا Server دیگری متصل کنید.
ICANN نیز توضیح میدهد که ثبت Domain Name بهخودیخود به معنی داشتن Website نیست و برای در دسترس قرار گرفتن وبسایت باید سرویس Hosting یا زیرساخت دیگری به دامنه متصل شود.
اگر هنوز VPS تهیه نکردهاید، راهنمای سرور مجازی چیست؟ برای آشنایی با ساختار این سرویس مفید است.
مرحله اول: IP سرور را پیدا کنید
برای اتصال دامنه به VPS ابتدا باید Public IP سرور را داشته باشید.
برای IPv4 ممکن است آدرسی شبیه نمونه زیر داشته باشید:
203.0.113.10
این آدرس فقط مثال است و باید IP واقعی Server خودتان را وارد کنید.
دقت کنید از Private IPهایی مانند محدودههای 192.168.x.x یا 10.x.x.x برای اتصال عمومی دامنه استفاده نکنید؛ DNS عمومی باید به IP قابل دسترس از اینترنت اشاره کند.
اگر سرور IPv6 نیز در اختیار دارد، میتوانید در کنار A Record، یک AAAA Record نیز برای IPv6 تعریف کنید.
مرحله دوم: مشخص کنید DNS دامنه کجا مدیریت میشود
یکی از دلایل رایج ناموفق بودن اتصال دامنه به سرور این است که کاربر DNS Record را در پنلی تغییر میدهد که Authoritative DNS دامنه نیست.
ممکن است دامنه را از یک Registrar خریداری کرده باشید اما DNS آن روی سرویس دیگری مانند DNS Provider، Hosting Provider یا cPanel مدیریت شود.
بنابراین ابتدا Name Serverهای فعلی دامنه را بررسی کنید.
در Linux و macOS:
dig NS example.com
یا:
nslookup -type=NS example.com
در Windows نیز میتوانید از nslookup استفاده کنید.
رکورد A را باید در سرویسی تغییر دهید که DNS Zone فعال دامنه در آن قرار دارد.
تغییر Name Server بهتر است یا A Record؟
برای اتصال دامنه به VPS همیشه لازم نیست Name Server را تغییر دهید.
دو روش وجود دارد.
در روش اول، Name Server فعلی را حفظ میکنید و فقط رکوردهای DNS را در همان DNS Provider تغییر میدهید. این روش در بسیاری از سناریوها سادهتر است.
در روش دوم، Name Server دامنه را به Name Serverهای Hosting یا DNS Provider دیگری تغییر میدهید. در این صورت مدیریت کامل DNS Zone به سرویس جدید منتقل میشود.
اگر Name Server را تغییر میدهید، قبل از آن تمام رکوردهای مهم فعلی مانند MX، SPF، DKIM و سایر رکوردهای Email را منتقل کنید؛ در غیر این صورت ممکن است سرویس ایمیل دامنه مختل شود.
مرحله سوم: A Record دامنه را به IP سرور متصل کنید
برای اتصال دامنه اصلی، معمولاً رکوردی مانند زیر نیاز دارید:
| Type | Name | Value |
|---|---|---|
| A | @ |
IP سرور |
| CNAME | www |
example.com |
رکورد @ معمولاً Root Domain را نشان میدهد.
برای مثال:
example.com → 203.0.113.10
و برای www میتوانید CNAME ایجاد کنید:
www.example.com → example.com
در برخی DNS Providerها میتوان برای www نیز A Record مجزا ایجاد کرد، اما CNAME معمولاً مدیریت آن را سادهتر میکند.
اگر IPv6 روی Server بهدرستی پیکربندی شده است میتوانید AAAA Record هم اضافه کنید.
اتصال دامنه به سرور با cPanel
اگر DNS Zone دامنه واقعاً روی Server یا Hosting مبتنی بر cPanel قرار دارد، میتوانید رکوردها را از قسمت Zone Editor مدیریت کنید.
مسیر معمول در نسخههای فعلی cPanel:
cPanel → Domains → Zone Editor
سپس برای دامنه موردنظر A Record ایجاد کنید و IP Server را بهعنوان Address وارد کنید.
مستندات رسمی cPanel نیز A Record را رکوردی معرفی میکند که Hostname را به IPv4 متصل میکند.
نکته مهم این است که cPanel و WHM یک چیز نیستند. cPanel برای مدیریت Hosting Account و امکاناتی مانند Domain، File، Database و Email استفاده میشود؛ در حالی که بسیاری از تنظیمات مدیریتی سطح Server در WHM یا سیستمعامل انجام میشوند.
همچنین اگر Authoritative DNS دامنه جای دیگری است، تغییر Zone Editor در cPanel لزوماً اثری روی DNS عمومی دامنه ندارد.
اگر قصد راهاندازی کنترلپنل روی VPS دارید، راهنمای نصب cPanel روی سرور مجازی نیز میتواند مفید باشد.
مرحله چهارم: دامنه را روی Web Server تعریف کنید
تنظیم DNS فقط درخواست را به Server میرساند. Server نیز باید بداند وقتی Hostname مشخصی مانند example.com دریافت شد، کدام Website یا Application را نمایش دهد.
این مرحله بسته به Web Server متفاوت است.
اتصال دامنه در Nginx
در Nginx معمولاً یک Server Block ایجاد میشود.
نمونه ساده:
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.html index.htm;
}
سپس Configuration را بررسی کنید:
sudo nginx -t
اگر خطایی وجود نداشت:
sudo systemctl reload nginx
در مستندات رسمی Nginx، server_name برای مشخص کردن نامهایی استفاده میشود که Virtual Server باید به آنها پاسخ دهد.
اتصال دامنه در Apache
برای Apache میتوان VirtualHost ایجاد کرد:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com
</VirtualHost>
بعد از ایجاد Configuration، باید Site را طبق ساختار Distribution و تنظیمات Apache فعال کرده و Configuration را Reload کنید.
قبل از هر تغییر روی Server اصلی، از Configuration فعلی Backup داشته باشید.
اتصال دامنه به Windows Server و IIS
در IIS علاوه بر DNS باید Binding سایت نیز تنظیم شود.
در IIS Manager سایت موردنظر را انتخاب کنید، وارد Bindings شوید و Host Name را روی دامنه موردنظر مانند:
example.com
قرار دهید.
اگر سایت باید با www.example.com هم در دسترس باشد، Binding مربوط به آن نیز باید وجود داشته باشد.
برای شناخت بیشتر ساختار IIS میتوانید مقاله IIS چیست؟ را مطالعه کنید.
اتصال Subdomain به سرور
برای اتصال Subdomain مانند:
api.example.com
یا:
panel.example.com
میتوانید A Record جداگانه ایجاد کنید.
مثلاً:
| Type | Name | Value |
|---|---|---|
| A | api |
IP سرور |
| A | panel |
IP سرور |
بعد از آن باید Hostname مربوطه را نیز در Nginx، Apache، IIS یا Application خود تعریف کنید.
DNS فقط نام را به IP متصل میکند؛ اینکه چه Service یا Applicationی بعد از رسیدن Request پاسخ بدهد به Configuration خود Server بستگی دارد.
چگونه مطمئن شویم دامنه به سرور وصل شده است؟
بعد از ثبت DNS Record بهتر است قبل از باز کردن سایت در Browser، خود DNS را بررسی کنید.
در Linux یا macOS:
dig +short example.com A
اگر IP درست نمایش داده شود، A Record دامنه Resolve شده است.
با nslookup نیز میتوانید بررسی کنید:
nslookup example.com
اگر DNS صحیح است اما سایت باز نمیشود، مشکل احتمالاً از مرحله دیگری مانند Web Server، Firewall، Port، SSL یا Application است.
برای بررسی پاسخ Web Server نیز میتوانید اجرا کنید:
curl -I http://example.com
DNS Propagation چقدر طول میکشد؟
بعد از تغییر DNS ممکن است همه Resolverها فوراً مقدار جدید را مشاهده نکنند.
زمان دقیق ثابت نیست و به عواملی مانند TTL رکورد قبلی، Cache Resolverها، نوع تغییر و DNS Provider بستگی دارد. در بسیاری از موارد رکورد جدید نسبتاً سریع دیده میشود، اما Cacheهای قبلی ممکن است تا پایان TTL همچنان مقدار قدیمی را برگردانند.
بنابراین عبارتهایی مانند «DNS حتماً دقیقاً 24 ساعت طول میکشد» درست نیستند.
اگر نتیجه متفاوتی مشاهده کردید، Record را از چند Resolver یا Network مختلف بررسی کنید.
مرحله پنجم: پورتهای 80 و 443 را بررسی کنید
حتی اگر DNS کاملاً درست باشد، Firewall میتواند مانع دسترسی کاربران شود.
برای Website معمولاً نیاز است ترافیک ورودی روی این پورتها متناسب با Configuration شما مجاز باشد:
80/TCP برای HTTP
443/TCP برای HTTPS
فعال کردن Port باید با توجه به Firewall سیستمعامل، Network Firewall و سیاست امنیتی Server انجام شود.
Portهای غیرضروری را فقط برای حل موقت مشکل باز نکنید.
اگر Server تازهای راهاندازی کردهاید، راهنمای کانفیگ سرور چیست؟ نیز در تنظیم اولیه Server و Security کاربرد دارد.
مرحله ششم: SSL و HTTPS را فعال کنید
بعد از اینکه Domain به IP صحیح Resolve شد و Web Server به درخواست دامنه پاسخ داد، میتوانید SSL Certificate را دریافت کنید.
Let’s Encrypt با استفاده از پروتکل ACME امکان صدور خودکار Certificate را فراهم میکند و قبل از صدور گواهی باید کنترل شما بر Domain تأیید شود.
بسته به Web Server و سیستمعامل میتوانید از Clientهایی مانند Certbot یا ابزارهای داخلی کنترلپنل استفاده کنید.
نکته مهم این است که SSL را فقط نصب نکنید؛ بعد از صدور Certificate مطمئن شوید:
- دامنه اصلی داخل Certificate قرار دارد.
wwwدر صورت استفاده پوشش داده شده است.- HTTP به HTTPS Redirect میشود.
- تمدید خودکار Certificate فعال است.
- Certificate Chain بدون خطا ارسال میشود.
چرا دامنه به سرور وصل نمیشود؟
در ادامه به دلایل عدم اتصال دامنه به سرور میپردازیم.
1. A Record اشتباه است
ابتدا بررسی کنید A Record دقیقاً به Public IPv4 سرور اشاره کند.
2. DNS را در پنل اشتباه تغییر دادهاید
ممکن است DNS دامنه روی سرویسی غیر از Registrar مدیریت شود. Name Serverها را بررسی کنید و تغییر را روی Authoritative DNS انجام دهید.
3. رکورد www وجود ندارد
ممکن است example.com باز شود اما www.example.com کار نکند. برای www یک A یا CNAME مناسب تعریف کنید.
4. AAAA Record به Server دیگری اشاره میکند
اگر IPv6 قبلی روی دامنه باقی مانده باشد، بعضی کاربران ممکن است از طریق IPv6 به مقصد اشتباه هدایت شوند.
اگر از IPv6 استفاده نمیکنید، وجود AAAA Record اشتباه را بررسی کنید.
5. Web Server دامنه را نمیشناسد
اگر DNS درست است اما Server سایت دیگری نمایش میدهد، Server Name یا Virtual Host را بررسی کنید.
در Nginx معمولاً server_name و در Apache ServerName و ServerAlias اهمیت دارند.
6. Firewall دسترسی را مسدود کرده است
بسته بودن پورت 80 یا 443 میتواند باعث شود DNS درست Resolve شود اما Website در دسترس نباشد.
7. SSL با دامنه مطابقت ندارد
اگر Certificate برای Hostname دیگری صادر شده باشد، Browser خطای Certificate نمایش میدهد.
اتصال چند دامنه به یک سرور امکانپذیر است؟
بله. یک Server یا VPS میتواند چند Domain مختلف را Host کند.
برای مثال میتوانید:
example1.com
example2.com
example3.com
را همگی به یک IP متصل کنید و سپس در Web Server برای هرکدام Virtual Host یا Server Block مستقل بسازید.
محدودیت اصلی صرفاً «تعداد دامنه» نیست؛ منابع CPU، RAM، Storage، Traffic و نوع Applicationهای در حال اجرا باید پاسخگوی همه سایتها باشند.
آیا میتوان دامنه را بعداً به سرور دیگری منتقل کرد؟
بله. یکی از مزیتهای ساختار DNS همین است که Domain به یک Server فیزیکی خاص قفل نمیشود.
برای انتقال Website به Server جدید معمولاً ابتدا اطلاعات و Application را منتقل میکنید، Server جدید را آزمایش میکنید و سپس A/AAAA Record را به IP جدید تغییر میدهید.
برای کاهش اختلال در Migrationهای حساس بهتر است TTL، Database Synchronization، SSL و زمان تغییر DNS از قبل برنامهریزی شوند.
خود Domain همچنان همان Domain باقی میماند؛ فقط مقصد DNS تغییر میکند.
اتصال دامنه به VPS ابر ماهان
اگر Application، Website یا سرویس شما به دسترسی مدیریتی Server نیاز دارد، VPS میتواند زیرساختی برای اجرای Web Server، Database و سایر Serviceهای موردنیاز فراهم کند.
پس از تهیه VPS باید سیستمعامل و Web Server مناسب را پیکربندی کنید، DNS دامنه را به Public IP Server متصل کنید و تنظیمات Security و SSL را انجام دهید.
برای بررسی پلنها میتوانید صفحه سرور مجازی ایران ابر ماهان را مشاهده کنید.
مهم است پیش از انتخاب پلن، منابع موردنیاز Application خود مانند CPU، RAM و Storage را مشخص کنید؛ اتصال Domain به Server بهتنهایی تضمینکننده Performance مناسب Website نیست.
جمعبندی
اتصال دامنه به سرور در سادهترین حالت با یک A Record انجام میشود، اما برای راهاندازی کامل Website باید چند بخش بهدرستی کنار هم قرار بگیرند.
ابتدا Public IP سرور را مشخص کنید و مطمئن شوید DNS Record را در Authoritative DNS صحیح تغییر میدهید. سپس دامنه را در Nginx، Apache، IIS یا Control Panel تعریف کنید، دسترسی HTTP/HTTPS را بررسی کنید و بعد از Resolve شدن Domain، SSL Certificate را فعال کنید.
اگر Domain به IP درست Resolve میشود اما Website باز نمیشود، دیگر مشکل را فقط در DNS جستوجو نکنید؛ Web Server، Firewall، Port 80/443، SSL و Application نیز باید بررسی شوند.
سؤالات متداول
1.برای اتصال دامنه به VPS چه رکوردی لازم است؟
برای IPv4 معمولاً A Record دامنه به Public IP سرور متصل میشود. اگر Server از IPv6 استفاده میکند میتوانید AAAA Record نیز تعریف کنید. برای www معمولاً CNAME به Domain اصلی قابل استفاده است.
2.آیا برای اتصال دامنه به سرور باید Name Server تغییر کند؟
خیر. اگر DNS فعلی دامنه را مدیریت میکنید، میتوانید Name Serverها را حفظ کرده و فقط A Record را تغییر دهید. تغییر Name Server زمانی لازم است که قصد داشته باشید مدیریت DNS Zone را به Provider دیگری منتقل کنید.
3.آیا میتوان دامنه را بدون خرید هاست یا VPS ثبت کرد؟
بله. Domain Registration و Hosting مستقل هستند. میتوانید ابتدا Domain را ثبت کنید و در آینده آن را به Hosting، VPS یا Server موردنظر متصل کنید.
4.چرا IP Server با دامنه باز میشود اما خود دامنه باز نمیشود؟
اگر IP پاسخ میدهد اما Domain خیر، ابتدا DNS Record را بررسی کنید. اگر DNS صحیح است، Server Name یا Virtual Host در Nginx، Apache یا IIS را بررسی کنید.
5.بعد از تغییر DNS چقدر زمان لازم است؟
زمان ثابتی وجود ندارد. نتیجه به TTL، Cache DNS و نوع تغییر بستگی دارد. بعضی Resolverها ممکن است مقدار جدید را سریع دریافت کنند و بعضی تا پایان Cache مقدار قبلی را نمایش دهند.
6.آیا میتوان چند دامنه را به یک IP متصل کرد؟
بله. چند Domain میتوانند A Record یکسانی داشته باشند. Web Server بر اساس Hostname درخواست تشخیص میدهد کدام Website باید نمایش داده شود.



