Перейти к содержимому
GitHubПоддержать

Домен и сертификаты

Панель сама получает сертификат Let’s Encrypt и продлевает его:

  • с доменом: обычный сертификат на домен;
  • без домена: короткий сертификат на IP-адрес, около шести дней, продлевается автоматически.

Для выпуска нужен открытый порт 80, он занимается на несколько секунд. Если получить сертификат не удалось, панель работает с самоподписанным: браузер один раз предупредит, а часть приложений не примет подписку, и Telegram не откроет Mini App. Состояние видно в Настройки → Безопасность → Сертификат панели, там же кнопка «Запросить сейчас».

Настройки → Основное → Сервер: поля «Адрес сервера» и «Домен». При сохранении панель проверяет домен через публичный DNS и скажет, если записи нет или домен указывает на другой сервер. После смены панель сразу запрашивает новый сертификат.

Если порт 80 закрыт или нужен wildcard, Cloudflare Origin или сертификат своего CA, поставьте свой: Настройки → Безопасность → Сертификат панели → Свой сертификат. Нужны «Сертификат с цепочкой» (fullchain.pem) и «Закрытый ключ» (privkey.pem), файлом или текстом. Порт 80 тогда не нужен. Вернуться обратно: «Вернуть Let’s Encrypt».

То же из командной строки, удобно для хука продления certbot или acme.sh:

mikan cert set --cert /etc/letsencrypt/live/DOMAIN/fullchain.pem \
--key /etc/letsencrypt/live/DOMAIN/privkey.pem
certbot renew --deploy-hook \
'mikan cert set --cert $RENEWED_LINEAGE/fullchain.pem --key $RENEWED_LINEAGE/privkey.pem'

Новый файл подхватывается без перезапуска. mikan cert show показывает, что стоит сейчас, mikan cert clear возвращает Let’s Encrypt.

Hysteria2, TUIC, AnyTLS и TrustTunnel используют сертификат ноды. По умолчанию он самоподписанный, и клиенты получают его отпечаток (пин) в подписке. Свой сертификат ставится кнопкой Сертификат на карточке ноды или командой mikan cert set ... --node N. Публично доверенный сертификат уходит клиентам без пина, поэтому его продление ничего не ломает.

Если у панели есть домен, своя нода панели сама отдаёт на этих протоколах публичный сертификат панели.

Настройки → Подписка → Порт подписки выносит ссылки подписок и страницу подписки на отдельный порт, например 443 или 2053. Применяется сразу, без перезапуска. Админка на этом порту не открывается, а старые ссылки на порту панели продолжают работать, так что клиентам ничего менять не нужно.

Панель подсказывает порты, открытые при установке, и помечает занятые протоколами. Другой порт откройте в файрволе сами: ufw allow PORT/tcp.

Положите файлы в /opt/mikan/data/panel/www: панель отдаст их на всех путях, которые не заняты ею самой, а 404.html станет страницей ошибки. Так по адресу панели открывается обычный сайт.