محتوای آموزشی وبلاگ نتآرام
میخواهید کسی که
shop.example.com را باز میکند به صفحه دیگری برود. در پنل DNS یک CNAME میسازید، اما مرورگر هنوز همان آدرس قبلی را نشان میدهد. آیا رکورد خراب است؟ لزوماً نه. CNAME و ریدایرکت HTTP دو کار متفاوت انجام میدهند.CNAME در سیستم DNS میگوید یک نام برای پیدا کردن مقصد از نام دیگری استفاده کند. ریدایرکت HTTP پاسخی است که سرویس وب به مرورگر میدهد و از آن میخواهد نشانی دیگری را باز کند. در این آموزش با دو مثال تصمیم میگیریم کدام کار لازم است، بعد مسیر تنظیم و آزمون آن را میبینیم.
مثال اول: میخواهم همان دامنه خودم در مرورگر بماند
فرض کنید از یک سرویس فروشگاهساز استفاده میکنید و آن شرکت گفته برای
shop.example.com یک CNAME به نامی مانند shops.provider.example بسازید. در این حالت هدف معمول این است که بازدیدکننده همچنان آدرس دامنه شما را در مرورگر ببیند، اما درخواست به زیرساخت ارائهدهنده برسد.در پنل DNS فعال دامنه، رکورد CNAME را طبق راهنمای ارائهدهنده ایجاد میکنید. مقدار مقصد باید نام میزبان باشد، نه نشانی کامل همراه
https:// و مسیر صفحه. برای مثال shops.provider.example یک نام نمونه است؛ https://shops.provider.example/cart آدرس وب است و بهصورت معمول مقدار CNAME محسوب نمیشود.پس از ساخت رکورد، در پنل فروشگاهساز نیز معمولاً باید دامنه سفارشی
shop.example.com را معرفی کنید. سرویس مقصد باید درخواست برای نام شما را بپذیرد و گواهی HTTPS معتبر برای همان نام ارائه کند. CNAME بهتنهایی حساب فروشگاه را انتخاب، صفحه را منتقل یا گواهی صادر نمیکند.مثال دوم: میخواهم مرورگر به آدرس تازه برود
فرض کنید آدرس قدیمی
old.example.com را برای همیشه کنار گذاشتهاید و میخواهید مرورگر به https://new.example.com برود. در این حالت به سرویسی نیاز دارید که درخواست وب برای نام قدیمی را دریافت کند و پاسخ انتقال، مثلاً 301 برای جابهجایی دائمی، برگرداند. DNS باید نام قدیمی را به همان سرویس برساند؛ خود CNAME قرار نیست پاسخ HTTP تولید کند.اگر انتقال موقت است، معمولاً
302 مناسبتر از 301 است. گوگل انتقال دائمی را یکی از نشانههای انتخاب آدرس مقصد در نتایج میداند، نه تضمین رتبه یا ایندکس. راهنمای رسمی گوگل درباره ریدایرکتها تفاوت انتقال دائمی و موقت را توضیح میدهد.برای HTTPS، مرورگر پیش از دریافت ریدایرکت باید اتصال امن به نام قدیمی برقرار کند. بنابراین نام قدیمی نیز به گواهی معتبر نیاز دارد. اگر خطای گواهی در همان ابتدای ورود رخ دهد، انتظار نداشته باشید انتقال به مقصد جدید همیشه بدون هشدار انجام شود.
ساخت CNAME در محل درست DNS
وارد پنلی شوید که نیمسرورهای فعال دامنه واقعاً از آن پاسخ میدهند. برای یک زیردامنه آزمایشی، این اطلاعات را از ارائهدهنده مقصد بگیرید: نام زیردامنه و نام میزبان مقصد. سپس در بخش DNS، نوع
CNAME را انتخاب کنید، نامی مانند shop را در فیلد نام بگذارید و نام مقصدی را که سرویس معتبر داده وارد کنید.قبل از ذخیره، رکوردهای موجود با همان نام را بررسی کنید. CNAME با رکوردهای معمول دیگر در همان نام محدودیت همزیستی دارد. اگر پنل خطای تداخل میدهد، بدون شناخت رکورد قبلی آن را حذف نکنید؛ ممکن است به ایمیل یا سرویس دیگری وابسته باشد. راهنمای رفع تداخل رکورد CNAME مراحل تشخیص این مسئله را توضیح میدهد.
در ریشه ناحیه DNS، یعنی خود
example.com، شرایط ویژهای وجود دارد چون رکوردهای لازم ناحیه باید آنجا باقی بمانند. بعضی ارائهدهندهها قابلیتی مانند CNAME flattening یا ALIAS ارائه میکنند. اگر لازم است ریشه دامنه را به سرویس دیگری وصل کنید، دقیقاً از روش پشتیبانیشده همان DNS و سرویس مقصد استفاده کنید؛ فرض نکنید ساخت CNAME معمولی در همه پنلها روی ریشه مجاز است.پس از ذخیره، زمان انتشار و کش را در نظر بگیرید. فعال یا غیرفعال بودن پراکسی در برخی پنلها نیز بر پاسخ عمومی و الزامات سرویس مقصد اثر دارد. وضعیت را مطابق مستندات هر دو سرویس انتخاب کنید، نه فقط بر اساس رنگ نماد.
راهاندازی ریدایرکت در سیپنل
این نمونه برای وقتی است که نام قدیمی به یک حساب میزبانی سیپنل میرسد و این حساب اجازه مدیریت آن دامنه را دارد. ابتدا مطمئن شوید دامنه قدیمی در همان هاست معرفی شده و HTTP و HTTPS آن به سرویس مناسب میرسند. گواهی معتبر نام قدیمی و مقصد جدید را نیز کنترل کنید.
۱. در سیپنل بخش Domains ← Redirects را باز کنید.
۲. نوع Permanent (301) را برای انتقال دائمی یا Temporary (302) را برای انتقال موقت انتخاب کنید.
۳. از فهرست، فقط دامنه قدیمی موردنظر را انتخاب کنید. گزینه همه دامنهها میتواند سایتهای دیگر را هم تحت تأثیر قرار دهد.
۴. نشانی کامل مقصد، برای مثال
https://new.example.com، را وارد کنید. پیش از ذخیره مطمئن شوید آن دامنه مقصد تحت کنترل شما یا طرف مورد اعتماد است.
۵. اگر قرار است مسیرها نیز منتقل شوند، گزینه Wild Card Redirect را با مثال همان پنل بخوانید و ابتدا روی یک مسیر آزمایشی بررسی کنید. این گزینه در بخش ریدایرکت با رکورد وایلدکارد DNS یکسان نیست.
۶. تغییر را ثبت کنید و نشانی قدیمی، نسخه www در صورت استفاده و یک مسیر داخلی نمونه را آزمایش کنید.نام گزینهها و رفتار جزئی با نسخه و تنظیم سرور فرق دارد. مستندات رسمی Redirects سیپنل امکانات و معنی گزینه انتقال مسیر را شرح میدهد. اگر سایت از CDN یا قانون ریدایرکت دیگری استفاده میکند، از ایجاد قانون متناقض و حلقه جلوگیری کنید.
از کجا بفهمیم کدام اتفاق افتاده است؟
برای دیدن پاسخ HTTP، در ترمینال یا Command Prompt این فرمان را با نشانی واقعی و مجاز خودتان اجرا کنید:
کد / دستورcurl -I https://old.example.com/
اگر سرویس انتقال پاسخ بدهد، معمولاً یک وضعیت مانند
301 یا 302 و سطری به نام Location با نشانی مقصد میبینید. اگر پاسخ 200 است و آدرس تغییر نمیکند، ممکن است صفحه همان نام ارائه شده باشد؛ این نتیجه بهتنهایی ثابت نمیکند CNAME اشتباه است. پاسخهای امنیتی یا رفتار خاص سرور نیز میتوانند نتیجه را تغییر دهند.برای دیدن چند مرحله انتقال میتوانید از فرمان زیر استفاده کنید:
کد / دستورcurl -IL --max-redirs 5 https://old.example.com/
اگر خطای تعداد زیاد ریدایرکت گرفتید، مقصد هر مرحله و قانونهای HTTPS، www و CDN را مقایسه کنید. اعتبار گواهی را برای این تست خاموش نکنید. مرورگرها ممکن است انتقال دائمی را کش کنند؛ یک پنجره ناشناس یا مرورگر دیگر برای آزمایش مفید است.
در پایان، هم نام قدیمی و هم نام جدید، اتصال امن، صفحه مقصد و مسیرهای مهم را ببینید. اگر تغییر ناخواسته بود، قانونی را که ثبت کردهاید طبق راهنمای پنل برگردانید و به زمان کش مرورگر توجه کنید. برای انتخاب نام و پسوند، صفحه ثبت دامنه نتآرام در دسترس است.
مقاله قبلی
مقاله قبلی وجود ندارد.
مقاله بعدی
دیدگاهها (۰)
دیدگاههای تاییدشده و پاسخهای تیم نتآرام
