Домены и Cloudflare
PWA Hub сам управляет DNS ваших доменов через Cloudflare API. Как только вы подключаете домен к PWA или сплиту, продукт создаёт для него зону в Cloudflare (если её ещё нет) и проксируемые записи, указывающие на IP вашего сервера. Для доменов приложений вам не нужно вручную прописывать A-записи - достаточно один раз подключить аккаунт. Единственная запись, которую придётся создать руками, - для домена самой панели (см. ниже).
Работает всё по SSL-режиму Full: при установке PWA Hub на сервере ставится самоподписанный origin-сертификат, а Cloudflare терминирует внешний HTTPS и общается с вашим сервером по зашифрованному каналу. Плюс продукт автоматически восстанавливает реальный IP посетителя из заголовков Cloudflare - в статистике и логах вы видите настоящие адреса, а не адреса прокси.
Что это даёт на практике
Один раз настроив аккаунт Cloudflare, вы дальше просто добавляете домены в пару кликов - DNS, проксирование и HTTPS настраиваются за вас.
Что подготовить в Cloudflare
Эта часть делается один раз во внешней панели Cloudflare - до установки PWA Hub, потому что без DNS вы не откроете саму панель.
- Заведите аккаунт на cloudflare.com (или используйте свой).
- Создайте API Token с правами на зоны и DNS (как - сразу ниже). Именно токен, а не Global API Key - его вы вставите в панель после установки.
- У регистратора вашего домена пропишите NS-серверы Cloudflare (Cloudflare покажет их, когда вы добавите домен в свой аккаунт). После смены серверов имён должно пройти некоторое время, пока зона активируется.
- В настройках SSL/TLS выставьте режим Full.
Как создать API Token
Токен создаётся в профиле аккаунта, а не в настройках отдельного домена. Кликните по иконке профиля в правом верхнем углу Cloudflare → My Profile, слева выберите API Tokens и нажмите Create Token.
На странице Create API Token пролистайте к блоку Custom token и нажмите Get started. Готовые шаблоны (например Edit zone DNS) не подходят: они дают права только на записи внутри существующих зон, а PWA Hub создаёт ещё и сами зоны.

Заполните форму Create Custom Token:
- Token name - любое понятное имя, например
pwa. - Permissions - две строки (вторую добавьте ссылкой + Add more):
| Группа | Ресурс | Уровень |
|---|---|---|
| Zone | Zone | Edit |
| Zone | DNS | Edit |
- Zone Resources - Include → All zones, чтобы токен работал со всеми доменами аккаунта, включая те, которые вы добавите позже.
- Client IP Address Filtering - оставьте пустым: если ограничить токен по IP, после переезда на другой сервер он перестанет работать.
- TTL - оставьте пустым, чтобы у токена не было срока действия.

Нажмите Continue to summary, проверьте список прав и подтвердите кнопкой Create Token. Cloudflare покажет значение токена только один раз - скопируйте его сразу и сохраните: он понадобится, когда вы будете подключать аккаунт в панели.
Почему нужны обе строки прав
Zone → DNS → Edit позволяет управлять записями только внутри уже существующих зон. Zone → Zone → Edit нужен, чтобы PWA Hub мог создать зону для нового домена с нуля. С уровнем Read вместо Edit домены подключаться не будут.
Если зоны не создаются
В Zone Resources вместо Include → All zones выберите Include → All zones from an account и укажите ваш аккаунт - тогда токен получает права на уровне аккаунта, а не только на уже существующие зоны.
Токен потерялся
Посмотреть значение повторно нельзя. Откройте список API Tokens, в меню нужного токена выберите Roll - Cloudflare выдаст новое значение, а старое сразу перестанет работать. Новое значение нужно будет заново вставить в панель, в разделе Cloudflares (см. «Аккаунты Cloudflare»).
Режим SSL обязательно Full
На сервере стоит самоподписанный сертификат. При режиме Flexible соединение до сервера пойдёт по HTTP, а при Full (strict) Cloudflare будет требовать доверенный сертификат и вернёт ошибку. Правильный вариант - именно Full.
Откройте SSL/TLS → Overview - там виден текущий режим шифрования между посетителем, Cloudflare и вашим сервером.

Нажмите Configure, выберите Full и сохраните кнопкой Save.

Запись для домена панели
Домен панели вы выбираете сами и указываете при активации лицензии: обычно это поддомен admin.<ваш-домен>, но подойдёт любой другой хост или отдельный домен. Эту DNS-запись нужно создать вручную - без неё после активации лицензии панель не откроется. Домены для приложений продукт заведёт сам позже; руками создаётся только эта одна запись.
В панели Cloudflare откройте ваш домен, слева выберите DNS → Records и нажмите Add record. Заполните поля:
- Type -
A. - Name - имя хоста панели, например
admin. - IPv4 address - IP вашего сервера (тот, на который вы ставили PWA Hub).
- Proxy status - включите проксирование (Proxied, оранжевое облако).
- TTL - оставьте
Auto.
Нажмите Save.

| Тип | Имя | Значение | Прокси |
|---|---|---|---|
| A | хост панели, например admin | IP вашего сервера | Proxied (оранжевое облако) |
Корневой домен по желанию
Если планируете использовать и сам домен (без admin), добавьте такую же запись A для корневого домена - в поле Name укажите @. Записи в Cloudflare применяются обычно за минуту, после чего домен панели начнёт резолвиться на сервер.
Итог: что должно быть готово до установки
- Аккаунт Cloudflare и API Token с правами Zone → Zone → Edit и Zone → DNS → Edit на All zones - значение токена сохранено в надёжном месте.
- У регистратора домена прописаны NS-серверы Cloudflare, зона активировалась.
- В Cloudflare выставлен режим SSL/TLS = Full.
- Создана запись A для хоста панели (например,
admin) на IP сервера, проксирование включено.
Дальше вы поставите PWA Hub (см. «Установка PWA Hub»), войдёте в панель по IP сервера, активируете лицензию с этим доменом и подключите аккаунт Cloudflare в разделе Cloudflares - как это сделать, описано в разделе «Аккаунты Cloudflare». Домены для приложений после этого создаются автоматически, вручную DNS больше трогать не придётся.