هر hostname ابتدا با TXT به مالکیت پروژه در میآید، سپس routing آن جداگانه بررسی میشود. موفقبودن CNAME بهتنهایی مالکیت دامنه را ثابت نمیکند.
پیشنیازها
- App فعال با URL پیشفرض ابران
- دسترسی ویرایش DNS دامنه
- planای که custom domain را پشتیبانی میکند
- امکان دسترسی عمومی HTTP روی پورت
80برای صدور خودکار گواهی
۱. دامنه را اضافه کنید
در کنسول، App را باز کنید و به بخش Domains بروید. Add domain را انتخاب و این موارد را تنظیم کنید:
- hostname کامل، مانند
api.example.com - path prefix؛ برای route اصلی
/ - TLS فعال
- Force HTTPS فعال پس از آمادهشدن TLS
اگر همان hostname در همان پروژه برای route دیگری استفاده شده باشد، pathها نباید با هم overlap داشته باشند. TLS و Force HTTPS در سطح hostname مشترکاند؛ تغییر آنها میتواند همه routeهای همان hostname را تحتتأثیر قرار دهد.
۲. رکورد TXT مالکیت را بسازید
کنسول مقدار دقیق record را نشان میدهد. معمولاً نام مالکیت با _abrun. شروع میشود. Name و Value را بدون تغییر در DNS provider ثبت کنید.
TXT فقط مالکیت پروژه را ثابت میکند و ترافیک را به ابران هدایت نمیکند. اگر provider نام zone را خودکار اضافه میکند، مراقب تکرار دامنه در انتهای Name باشید.
۳. رکورد routing را بسازید
CNAME نمایشدادهشده در کنسول را برای hostname ثبت کنید. Abrun دو بررسی مستقل نمایش میدهد:
TXTبرای OwnershipCNAMEبرای Routing
برخی providerها در apex domain از ALIAS یا ANAME استفاده میکنند. این رکوردها ممکن است routing را برقرار کنند، اما هرگز جای TXT مالکیت را نمیگیرند.
۴. verification را اجرا کنید
پس از انتشار DNS، Verify را بزنید. هر رکورد یکی از وضعیتهای pending، checking، verified یا failed دارد.
انتشار DNS ممکن است زمان ببرد. Name، Value و نبود رکورد متناقض را با ابزار DNS provider یا resolver عمومی بررسی و سپس دوباره Verify کنید.
۵. TLS را بررسی کنید
صدور TLS بعد از تأیید ownership و routing شروع میشود. وضعیتهای قابلمشاهده شامل pending، issuing، ready، renewing، renewal_failed، failed و expired هستند.
وقتی وضعیت ready شد:
- URL را با
https://باز کنید. - endpoint اصلی برنامه را فراخوانی کنید.
- redirect از HTTP به HTTPS را در صورت فعالبودن Force HTTPS بررسی کنید.
- تاریخ انقضا و زمان renewal مورد انتظار را در کنسول ببینید.
renewal عادی خودکار است. Retry TLS فقط برای حالت قابلبازیابی مانند failure، expiry، renewal failure یا issuance متوقفشده نمایش داده میشود.
رفع مشکل
- Ownership ناموفق: TXT name/value، quoting provider و zone انتخابشده را بررسی کنید.
- Routing ناموفق: CNAME یا معادل apex باید به target نمایشدادهشده ابران اشاره کند.
- challenge ناموفق: پورت
80باید عمومی و به ابران route شده باشد. - TLS صادر نمیشود: رکورد CAA را برای اجازهدادن به CA بررسی کنید.
- rate limit: تا زمان اعلامشده صبر کنید و از retry پیدرپی خودداری کنید.
حذف دامنه
هشدار: حذف route میتواند ترافیک production را قطع کند. اگر آخرین route آن hostname باشد، lifecycle گواهی مشترک نیز cleanup میشود.
پیش از حذف، DNS و clientهای وابسته را به مقصد جایگزین منتقل کنید. سپس از منوی دامنه در کنسول Remove را انتخاب کنید.
مسیر مدیریت
کنسول، مسیر مرجع این راهنما برای lifecycle جدید ownership، routing و TLS است. commandهای مدیریت دامنه CLI در این نسخه از راهنما پوشش داده نمیشوند.