محتوای آموزشی وبلاگ نتآرام
آدرس سایت را به سرور جدید تغییر دادهاید. روی گوشی شما نسخهٔ جدید باز میشود، ولی دوستتان هنوز سایت قبلی را میبیند. آیا تغییر اشتباه انجام شده؟ همیشه نه. سرویسهای DNS میتوانند پاسخ قبلی را برای مدتی نگه دارند و همین باعث میشود افراد همزمان جواب متفاوت بگیرند.
برای فهمیدن این اتفاق، ابتدا نقش DNS و نیمسرور را ساده توضیح میدهیم. بعد میبینیم چه زمانی صبرکردن منطقی است و چه زمانی باید تنظیمات را بررسی کنیم.
DNS نام سایت را به آدرس سرور وصل میکند
شما نامی مثل
example.com را وارد میکنید، اما اتصال به سرور به آدرس شبکه نیاز دارد. DNS اطلاعات لازم برای پیدا کردن این آدرس را میدهد. یکی از رکوردهای رایج، A است که نام را به آدرس IPv4 وصل میکند. رکورد AAAA برای IPv6 و رکورد MX برای مسیر ایمیل استفاده میشود.نیمسرور سروری است که اطلاعات DNS دامنه را نگه میدارد و پاسخ میدهد. اگر فقط IP رکورد A را عوض کنید، محل نگهداری DNS ثابت است و یک پاسخ تغییر میکند. اگر نیمسرورها را عوض کنید، میگویید اطلاعات دامنه از سرویس دیگری پرسیده شود. این دو تغییر یکی نیستند.
به همین دلیل، پیش از تغییر نیمسرور باید رکوردهای لازم را در سرویس جدید بسازید. انتقال نام دو نیمسرور، رکوردهای ایمیل و زیردامنهها را خودکار در همهٔ سرویسها کپی نمیکند.
چرا تغییر برای همه فوری دیده نمیشود؟
وقتی یک سرویس DNS پاسخ میگیرد، ممکن است آن را ذخیره کند تا برای هر بازدید دوباره از ابتدا نپرسد. مدت اعتبار پاسخ با عددی به نام TTL مشخص میشود. مثلاً TTL برابر ۳۶۰۰ یعنی آن پاسخ میتواند تا حدود یک ساعت در کش مربوط معتبر بماند. توضیح TTL در مستندات Cloudflare
اگر قبل از تغییر، پاسخ قدیمی با اعتبار طولانی ذخیره شده باشد، کمکردن TTL بعد از تغییر آن نسخهٔ قبلی را فوراً پاک نمیکند. بهتر است کاهش TTL را از قبل برنامهریزی کنیم و برای پایان اعتبار قبلی زمان بدهیم.
نام رایج «انتشار DNS» ممکن است این تصور را ایجاد کند که تغییر همزمان به همهٔ اینترنت فرستاده میشود. در عمل، سرویسهای مختلف در زمانهای متفاوت پاسخ تازه میگیرند. پنل که میگوید «ذخیره شد»، فقط یک مرحله از مسیر را تأیید کرده است.
یک بررسی ساده در ویندوز انجام دهیم
PowerShell یا Command Prompt را باز کنید. در مثال زیر، دامنهٔ نمونه را با دامنهٔ خودتان جایگزین کنید:
کد / دستورnslookup -type=NS example.com
nslookup example.com 1.1.1.1
nslookup example.com 8.8.8.8
دستور اول نیمسرورهایی را که پاسخدهنده میشناسد نشان میدهد. دو دستور بعد از دو سرویس عمومی، آدرس دامنه را میپرسند. در خروجی نام سرورِ پاسخدهنده را با آدرس خود دامنه اشتباه نگیرید؛ بخش جواب مربوط به
example.com را بخوانید.اگر جوابها متفاوتاند، ساعت و هر دو خروجی را نگه دارید. تفاوت میتواند از کش باشد، ولی باید با آدرس مورد انتظار در سرویس جدید مقایسه شود. اگر هر دو جواب درستاند و فقط مرورگر نسخهٔ قبلی را نشان میدهد، کش مرورگر، کش CDN یا حتی فایلهای خود سایت هم ممکن است دخیل باشند.
چه چیزهایی با صبرکردن درست نمیشوند؟
اگر رکورد در سرویس جدید ساخته نشده، انتظار آن را ایجاد نمیکند. اگر یکی از نیمسرورها اطلاعات قدیمی دارد، پاسخها ممکن است همچنان متفاوت باشند. اگر رکورد AAAA به سرور قبلی اشاره میکند، بعضی کاربران میتوانند از IPv6 به همان مقصد قبلی برسند.
همچنین دامنهای با DNSSEC ممکن است پس از تغییر نیمسرور به خاطر هماهنگنبودن کلید و DS خطا بدهد. در این حالت، «چند ساعت صبر کن» همیشه راهحل نیست. از پشتیبانی بخواهید وضعیت DNSSEC را بررسی کند؛ آموزش تغییر نیمسرور با DNSSEC این موضوع را توضیح میدهد.
تغییر را با یک برنامهٔ کوچک انجام دهید
رکوردهای فعلی را نگه دارید، مقصد را آماده کنید و سایت را قبل از تغییر عمومی آزمایش کنید. اگر ایمیل روی سرویس جداست، MX و رکوردهای مرتبط باید حفظ شوند. سرور قبلی را بلافاصله حذف نکنید؛ در مدتی که پاسخها تازه میشوند، ممکن است کاربران هنوز به آن برسند.
بعد از تغییر، دامنهٔ اصلی،
www، ایمیل و زیردامنههای مهم را بررسی کنید. برای سفارش و دادهٔ جدید، روش هماهنگ نگهداشتن دو مقصد لازم است؛ راهنمای انتقال سایت کمک میکند این بخش فراموش نشود. اگر نتیجهٔ مورد انتظار را از قبل نوشته باشید، خیلی راحتتر تشخیص میدهید تفاوت فعلی طبیعی است یا نیاز به اصلاح دارد.برچسبها:
اشتراکگذاری:
لینکدینتلگرامایکس
مقاله قبلی
مقاله بعدی
دیدگاهها (۰)
دیدگاههای تاییدشده و پاسخهای تیم نتآرام
