Skip to content

سرتیفیکیت ​

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

هنگام نصب ​

سؤال سرتیفیکیت در نصاب چهار گزینه دارد:

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

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

تمدید به کاری از سمت شما نیاز ندارد ​

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

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

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

بعداً، از منو ​

w-ui ← 20. SSL certificate:

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)

گزینهٔ w-ui ← 21. Cloudflare SSL certificate با یک توکن API کلودفلر، از راه چالش DNS سرتیفیکیت wildcard می‌گیرد.

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

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

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

پشت پروکسی خودتان ​

هنگام نصب بدون سرتیفیکیت را انتخاب کنید، یا --no-tls --local-only را بدهید. بعد TLS را در nginx یا Caddy تمام کنید و درخواست‌ها را به http://127.0.0.1:PORT/ بفرستید. آدرس پروکسی را هم در تنظیمات ← پیکربندی ← CIDRهای پراکسی مورد اعتماد وارد کنید تا پنل آدرس مشتری‌ها را از X-Forwarded-For بخواند.

Released under the AGPL-3.0 License.