Kubit logoکوبیت

افزودن دامنه و مدیریت گواهی TLS

در کوبچی می‌توانید دامنه را ثبت کنید و گواهی TLS آن را در اختیار پک‌های پروژه بگذارید. برای تهیه گواهی دو راه دارید: صدور و تمدید خودکار با Let’s Encrypt یا ثبت گواهی‌ای که خودتان تهیه کرده‌اید.

ثبت دامنه به‌تنهایی برنامه را روی اینترنت منتشر نمی‌کند. چارت باید Ingress و ورودی‌های دامنه و Secret گواهی را تعریف کرده باشد؛ سپس این مقدارها را در پیکربندی پک وارد کنید.

پیش‌نیازها

  • پروژه باید به یک کلاستر فعال متصل باشد.
  • باید امکان مدیریت DNS دامنه را داشته باشید.
  • برای صدور خودکار، cert-manager باید روی کلاستر نصب باشد. اگر نصب نباشد، پنل امکان نصب آن را در بخش افزونه‌های کلاستر نشان می‌دهد.
  • برای دسترسی HTTPS به برنامه، Ingress Controller و مسیر شبکه آن نیز باید آماده باشند.

افزودن دامنه

از سایدبار پروژه وارد کوبچی شوید و گواهی‌های دامنه‌ها را انتخاب کنید. جدول، دامنه، نام Secret گواهی، وضعیت، زمان باقی‌مانده تا انقضا و سطح دسترسی هر مورد را نشان می‌دهد.

فهرست دامنه‌ها و وضعیت گواهی آن‌ها

برای ثبت دامنه:

  1. افزودن دامنه را انتخاب کنید.
  2. نام کامل دامنه را در فیلد دامنه وارد کنید؛ برای نمونه example.com یا app.example.com.
  3. نام Secret را بررسی کنید. اگر آن را خالی بگذارید، کوبچی نامی متناسب با پروژه و دامنه می‌سازد. نام دلخواه فقط می‌تواند شامل حروف کوچک انگلیسی، عدد و خط تیره باشد و نباید با Secret یا گواهی موجود تداخل داشته باشد.
  4. روش مدیریت گواهی و سطح دسترسی را انتخاب کنید.
  5. افزودن را بزنید.

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

صدور خودکار گواهی

گزینه صدور خودکار گواهی TLS به‌صورت پیش‌فرض روشن است. در این حالت کوبچی با Let’s Encrypt برای خود دامنه و همه زیردامنه‌های مستقیم آن گواهی می‌گیرد و تمدید گواهی را نیز خودکار انجام می‌دهد.

فرم افزودن دامنه با صدور خودکار گواهی TLS

پس از ثبت، باید رکورد DNS نمایش‌داده‌شده در پنل را تنظیم کنید؛ تا پیش از آن وضعیت دامنه PENDING_DNS می‌ماند.

استفاده از گواهی موجود

اگر گواهی را از قبل تهیه کرده‌اید، صدور خودکار گواهی TLS را خاموش کنید و این مقادیر را با قالب PEM وارد کنید:

  • CA certificate: زنجیره یا گواهی مرجع صادرکننده؛
  • TLS certificate: گواهی دامنه؛
  • TLS key: کلید خصوصی متناظر با گواهی.

فرم افزودن دامنه با گواهی TLS دستی

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

سطح دسترسی دامنه

سطح دسترسی تعیین می‌کند کدام پروژه‌ها می‌توانند از Secret گواهی استفاده کنند:

  • خصوصی: فقط پروژه جاری به دامنه و Secret آن دسترسی دارد.
  • سازمانی: دامنه متعلق به پروژه جاری می‌ماند، اما پروژه‌های همان سازمان که روی همان کلاستر هستند نیز می‌توانند از Secret آن استفاده کنند.

برای دامنه‌ای که فقط یک پروژه مصرف می‌کند، سطح خصوصی انتخاب امن‌تری است.

تنظیم DNS برای صدور خودکار

پس از ثبت دامنه با صدور خودکار، پنل راهنمای اتصال DNS را باز می‌کند. همین راهنما با کلیک روی ردیف دامنه نیز در دسترس است. مقدارهای Type، Key و Value را بدون تغییر در پنل سرویس‌دهنده DNS ثبت کنید. نوع رکورد موردنیاز CNAME است.

مقادیر رکورد CNAME برای اعتبارسنجی دامنه

اگر DNS را پشت CDN یا Proxy مدیریت می‌کنید، حالت Proxy رکورد اعتبارسنجی را غیرفعال کنید تا مقصد واقعی CNAME قابل بررسی باشد. سپس:

  1. برای انتشار تغییرات DNS صبر کنید.
  2. به فهرست دامنه‌ها برگردید.
  3. دکمه تازه‌سازی وضعیت همان دامنه را انتخاب کنید.

کوبچی ابتدا رکورد CNAME را بررسی می‌کند. پس از تأیید DNS، صدور گواهی آغاز می‌شود و Secret آن پس از آماده‌شدن در اختیار پروژه قرار می‌گیرد.

وضعیت‌های دامنه

  • PENDING_DNS: رکورد CNAME هنوز پیدا نشده یا مقدار آن درست نیست.
  • ISSUING: DNS تأیید شده و صدور گواهی در حال انجام است.
  • ACTIVE: گواهی معتبر است. ستون اعتبار، زمان باقی‌مانده تا انقضا را نشان می‌دهد.
  • EXPIRED: تاریخ اعتبار گواهی گذشته است.
  • INVALID_DATA: داده گواهی موجود در Secret معتبر یا قابل‌خواندن نیست.
  • UNKNOWN: وضعیت گواهی از کلاستر قابل تشخیص نیست.
  • ERROR: بررسی وضعیت با خطا روبه‌رو شده است؛ اتصال کلاستر و دسترسی سرویس را بررسی کنید و دوباره تازه‌سازی را بزنید.

استفاده از دامنه در پک

پس از فعال‌شدن گواهی، در پیکربندی پک نام دامنه را به‌عنوان Host اینگرس و نام Secret ستون گواهی را به‌عنوان TLS Secret انتخاب یا وارد کنید. نام دقیق این فیلدها را چارت تعیین می‌کند و بعضی چارت‌ها چنین ورودی‌هایی ندارند.

اگر وضعیت دامنه ACTIVE است اما برنامه باز نمی‌شود، منابع Ingress و Service پک، مقصد DNS اصلی دامنه و مسیر شبکه Ingress Controller را بررسی کنید. رکورد CNAME بخش قبل فقط برای اعتبارسنجی ACME است و جای رکوردی را که ترافیک برنامه را به Ingress می‌رساند نمی‌گیرد.

مشاهده همه گواهی‌ها

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

فهرست گواهی‌ها و پروژه مرتبط با هر گواهی

وضعیت‌های این صفحه شامل ACTIVE، ISSUING، EXPIRED و UNKNOWN هستند.

حذف دامنه

از منوی عملیات ردیف دامنه، حذف را انتخاب و پیام تأیید را بررسی کنید. با حذف دامنه، گواهی مدیریت‌شده و Secret TLS مرتبط نیز از کلاستر حذف می‌شوند. پیش از تأیید مطمئن شوید هیچ پک یا Ingressی از آن Secret استفاده نمی‌کند؛ در غیر این صورت دسترسی HTTPS برنامه مختل می‌شود.

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

رفع اشکال

وضعیت روی PENDING_DNS مانده است

  • Type رکورد باید CNAME باشد.
  • Key و Value را دقیقاً از پنل کپی کنید.
  • Proxy یا CDN رکورد اعتبارسنجی را خاموش کنید.
  • پس از پایان انتشار DNS، وضعیت را دوباره تازه‌سازی کنید.

صدور خودکار در دسترس نیست

نصب و سلامت cert-manager را در افزونه‌های کلاستر بررسی کنید. بدون آن کوبچی نمی‌تواند گواهی خودکار بسازد.

گواهی دستی نامعتبر است

قالب PEM، تطابق TLS certificate با TLS key، زنجیره CA و تاریخ اعتبار گواهی را بررسی کنید. مقدارها را بدون حذف خطوط آغاز و پایان گواهی وارد کنید.

دامنه و گواهی | مستندات | کوبیت