Домени та 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 більше торкатися не доведеться.