Перейти к содержанию

Свой домен, HTTPS и сайт клуба

По умолчанию гости заходят в приложение по адресу вида http://<ip-панели>:3002 — это работает только внутри клуба. Чтобы приложение открывалось из дома и ставилось на телефон как обычное приложение, нужен свой домен.

Панель хостинга для этого не нужна: сертификаты выпускает и продлевает сам сервер клуба.

Проверка одной кнопкой

Всё, что описано ниже, админка умеет проверять сама: Настройки → Домен и приложение гостя → «Проверить домены». Она пройдёт всю цепочку и скажет, какой именно шаг не доделан.

Что понадобится

Что Где взять Примерная цена
Домен Любой регистратор (reg.ru, nic.ru и т.п.) от 200 ₽/год
Статический (белый) IP У вашего интернет-провайдера от 150 ₽/мес
Сертификат HTTPS Let's Encrypt, выпускается сам бесплатно

Без белого IP домен работать не будет: провайдер должен дать адрес, по которому клуб виден из интернета. Уточните у провайдера формулировкой «нужен статический внешний IP-адрес».

Шаг 1. Заведите DNS-записи

В панели регистратора откройте раздел «DNS-записи» / «Управление зоной» и добавьте записи типа A, указывающие на ваш внешний IP:

Имя (поддомен) Нужен Зачем
pwa да приложение гостя
api только если раздаёте мобильное приложение (APK) обмен данными с сервером
admin нет, лучше не заводить админка (см. предупреждение ниже)
@ (сам домен) если хотите сайт клуба сайт-визитка

Почему api обычно не нужен

Приложение гостя в браузере обращается к серверу по своему же адресу — отдельный домен для этого не требуется. api нужен только мобильному приложению из APK: оно грузится не с домена и ходит на сервер по полному адресу.

Если домен переезжал между регистраторами

При смене NS-серверов старые записи не переносятся — зона на новом месте пустая, и поддомены перестают открываться, даже если сам домен продлён. Записи нужно создать заново.

Изменения расходятся по интернету от нескольких минут до часа.

Шаг 2. Пробросьте порты на роутере

Внешний порт Куда Зачем
80 сервер клуба, порт 80 выпуск и продление сертификата
443 сервер клуба, порт 443 сам сайт и приложение

Порт 80 нужен постоянно, а не только в первый раз: сертификат живёт 90 дней и продлевается автоматически — но только если порт открыт. Закрыли после установки — через три месяца сайт перестанет открываться.

Больше ничего пробрасывать не нужно. Порты 3002/3003/8001 остаются доступны только внутри клуба — так и должно быть.

Шаг 3. Впишите домен в админку

Настройки → Домен и приложение гостя → «Домен клуба»: введите вашклуб.рф и сохраните. Всё.

Заходить на сервер и что-то там править не нужно. Клуб сам возьмёт домен, выпустит сертификат Let's Encrypt и будет его продлевать. Адреса начинают работать в течение полуминуты после сохранения.

Из одного домена получаются все остальные адреса — прямо в форме видно, какие именно:

Что Адрес
Приложение гостя https://pwa.вашклуб.рф
Сайт клуба https://вашклуб.рф
API для мобильного приложения https://api.вашклуб.рф

Рядом четыре переключателя:

  • Сайт клуба — выключите, если на домене уже стоит ваш сайт (см. Сайт клуба);
  • API наружу — нужно только для мобильного приложения из APK;
  • Админка наружу — по умолчанию выключено, так и оставьте (см. раздел про безопасность ниже);
  • Тестовые сертификаты — см. подсказку.

Пока настраиваете порты — включите «Тестовые сертификаты»

У Let's Encrypt есть ограничение: 5 неудачных попыток в час на домен. Пока проброс портов не отлажен, включите этот переключатель — сертификат будет «ненастоящий» (браузер поругается), зато лимит не израсходуется. Настроили — выключите и сохраните.

Кириллический домен

вашклуб.рф пишите как есть — перевод в технический вид (punycode) клуб сделает сам.

Если поддомены у вас называются иначе (например, приложение должно жить на app.вашклуб.рф), раскройте «Дополнительно: задать адреса вручную» — заданный там адрес сильнее выведенного.

Сохраните и нажмите «Проверить домены».

Шаг 4. Раздайте адрес гостям

На вкладке «Домен и приложение гостя» есть QR-код приложения — его можно распечатать и повесить в зале. Этот же адрес автоматически попадает в QR-код на экране блокировки игровых ПК: гость наводит камеру и сразу входит в свой аккаунт.

Гостю на телефоне: открыть адрес в браузере → меню → «Добавить на главный экран». Приложение появится иконкой и будет называться именем вашего клуба.

Что означают результаты проверки

Шаг проверки Если «не работает»
DNS — имя резолвится Нет A-записи у регистратора (или домен переехал на другие NS-серверы, и зона пустая)
Публичный вход (edge) Домен ещё не доехал до публичного входа. Он забирает настройки сам, до 30 секунд после сохранения — если и дальше не сходится, позовите того, кто ставил клуб
Порт 80 Не проброшен на роутере. Без него сертификат не продлится
Сертификат HTTPS Проверка скажет, в чём дело: самоподписанный, просроченный или выписан на другое имя
Приложение отвечает Домен доходит до сервера, но сервис за ним не поднят
Origin разрешён для API Адрес не добавлен в «Разрешённые origin для CORS»

Почему проверка может ругаться, когда снаружи всё работает

Проверка идёт изнутри сети клуба. Многие роутеры не умеют обращаться на собственный внешний адрес из локальной сети (это называется hairpin NAT). Тогда шаги «порт 80» и «сертификат» покажут предупреждение, хотя для гостей из интернета всё открывается. Проверьте с телефона, отключив Wi-Fi.

Безопасность: админку наружу лучше не публиковать

Поддомен admin открывает панель управления клубом из интернета. По умолчанию система её не публикует, и это правильно. Заходите в админку:

  • из локальной сети клуба, либо
  • через VPN.

Если всё же нужно опубликовать — включите переключатель «Админка наружу» на той же вкладке. Делайте это, только если понимаете риск.