Адрес и сертификат
Сайт Hooba работает только по https:// — без этого браузеры не дают доступ к микрофону и демонстрации экрана. Сертификат бесплатно выпускает Let's Encrypt, установщик делает это сам.
Домен или IP
| Домен | IP-адрес | |
|---|---|---|
| Адрес | https://chat.mysite.ru | https://203.0.113.10 |
| Нужно купить | домен | ничего |
| Срок сертификата | 90 дней, продлевается за ~30 дней до конца | 6 дней, продлевается примерно раз в 3 дня |
| При продлении | сайт недоступен несколько секунд | сайт недоступен несколько секунд, но чаще |
Для сертификата на IP нужен свежий certbot (5.3+) — установщик поставит его из snap сам.
Как работает продление
Продлевает системный таймер certbot (дважды в сутки проверяет, не пора ли). На время продления ему нужен порт 80, поэтому Hooba ненадолго останавливает свой сайт, а после — запускает его и отдаёт новый сертификат голосовому серверу. Всё это настроено автоматически.
Проверить, сколько осталось сертификату и включён ли таймер:
hooba statusСертификат истёк или скоро истечёт
hooba status предупредит: «похоже, продление не срабатывает». Проверьте, что продление проходит:
certbot renew --dry-run- Ошибка про порт 80 / connection — порт 80 закрыт в брандмауэре хостинга. Откройте его (порты).
- Ошибка DNS — A-запись домена больше не указывает на этот сервер.
- Ошибки нет — перенастройте продление и перезапустите сервер:
hooba cert-hooks
hooba repairЕсли таймер certbot не найден вовсе, hooba status подскажет строку для cron: 0 */12 * * * certbot renew -q.
Сменить адрес
Например, начинали по IP, а теперь купили домен.
- Создайте A-запись домена на IP сервера и дождитесь, пока она заработает.
- Запустите
hooba install(или пункт меню «Сменить адрес сервера или переустановить»). - Ответьте
yна «Переустановить?», выберите новый адрес.
Пароли, база и картинки сохранятся. Сообщите участникам новый адрес: в приложении для компьютера его нужно ввести заново.
Let's Encrypt не выдаёт сертификат
| Причина | Что делать |
|---|---|
| Закрыт порт 80 | Откройте 80/TCP для всего интернета, в том числе в брандмауэре панели хостинга |
| Домен не указывает на сервер | Проверьте: getent hosts chat.mysite.ru — должен показать IP сервера |
| Слишком много попыток | После 5 неудач подряд Let's Encrypt блокирует выпуск на час — подождите |
| Другое | Текст ошибки certbot — в выводе установщика, строки Detail и Hint |