Skip to content

سرتیفیکیت

پنل خودش HTTPS را روی همان یک پورتش سرو می‌کند. reverse proxy لازم نیست، و آی‌پی و دامنه از یک راه به آن می‌رسند.

موقع نصب

سؤال چهارم نصاب:

گزینهاعتبارلازم داردمناسب برای
دامنه۹۰ روزنامی که به این سرور اشاره کند، پورت 80 در دسترسپنلی که با نام به دیگران می‌دهی
آی‌پی (پیش‌فرض)۶ روز، هر ۶ ساعت با تایمر تمدید می‌شودپورت 80 در دسترسهر سروری، بدون دامنه
دلخواههر چه فایل‌ها بگویندمسیرهاسرتیفیکیتی که خودت مدیریت می‌کنی (certbot، wildcard)
هیچیک پروکسی یا تونل SSH جلوی پنلچیدمان‌های پیشرفته

هر دو حالت Let's Encrypt از acme.sh و چالش HTTP-01 روی لیسنر standalone استفاده می‌کنند. اگر چیزی پورت 80 را گرفته باشد، نصاب پورت دیگری برای لیسنر می‌پرسد؛ پورت 80 بیرونی را برای اعتبارسنجی به آن فوروارد کن.

تمدید بی‌مراقب است

دو مکانیزم که هر کدام به‌تنهایی کافی است:

  • cron خودِ acme.sh؛
  • wui-cert-renew.timer، تایمر systemd که هر شش ساعت acme.sh --cron را اجرا می‌کند — چون خیلی از ایمیج‌های کوچک اصلاً cron ندارند، و چون سرتیفیکیت شش روزه‌ای که روز ششم تمدید می‌شود نمی‌تواند منتظر بررسی روزانه بماند.
bash
systemctl list-timers wui-cert-renew.timer

وقتی سرتیفیکیت تمدید شود فایل‌هایش سر جا بازنویسی می‌شوند. پنل خودش متوجه می‌شود — وقتی فایل‌ها عوض شوند دوباره می‌خواندشان — پس چیزی ریستارت نمی‌شود و هیچ تانلی پلک نمی‌زند.

بعداً، از منو

w-ui20. SSL Certificate Management:

1. Get SSL (Domain)
2. Revoke & Remove
3. Force Renew
4. Show Existing Domains
5. Set Cert paths for the panel
6. Get SSL for IP Address (6-day cert, auto-renews)

و 21. Cloudflare SSL Certificate برای wildcard از طریق چالش DNS با توکن API.

سرتیفیکیت‌ها در /etc/wui/certs/<name>/fullchain.pem و privkey.pem هستند و حساب خودِ پنل می‌تواند بخواندشان.

سرویس سابسکریپشن روی پورت جدا

تنظیمات → سابسکریپشن می‌تواند سرویس سابسکریپشن را روی لیسنر جداگانه با سرتیفیکیت خودش بگذارد. لینکی که به مشتری داده می‌شود آن پورت و scheme را دارد، پس https://your.host:2096/sub/TOKEN مثل پنل کلاسیک کار می‌کند.

پشت پروکسی خودت

موقع نصب Skip را انتخاب کن (یا --no-tls --local-only)، بعد TLS را در nginx یا Caddy تمام کن و به http://127.0.0.1:PORT/ پروکسی کن. آدرس پروکسی را در تنظیمات → امنیت → Trusted proxies بگذار تا آدرس مشتری‌ها از X-Forwarded-For خوانده شود.

Released under the AGPL-3.0 License.