Собственный публичный адрес
Функция доступна в production.
Два разных режима адреса
Заголовок раздела «Два разных режима адреса»Администратору доступны два независимых поля:
- ExternalBookingUrl — точная внешняя HTTPS-ссылка для входа в Public Booking; может вести на страницу владельца или redirect;
- CustomPublicAppBaseUrl — базовый HTTPS-адрес полного reverse proxy, который обслуживает страницы, API, статику и гостевые ссылки FormiBook.
Обычный redirect не является full proxy. ExternalBookingUrl не используется автоматически для API, гостевых ссылок или платёжных callback.
Настройка внешней ссылки
Заголовок раздела «Настройка внешней ссылки»ExternalBookingUrl должен быть абсолютным HTTPS-адресом. Разрешён фиксированный query, являющийся частью ссылки. Fragment, user info, шаблоны и динамические placeholder запрещены.
FormiBook должен открывать точную сохранённую ссылку и не добавлять к ней маршрут бронирования.
Проверка reverse proxy
Заголовок раздела «Проверка reverse proxy»Сохранённый CustomPublicAppBaseUrl сначала имеет статус Pending и не используется в runtime. Для активации:
- настройте reverse proxy на кандидатный адрес;
- запустите Verify;
- FormiBook выполнит серверный HTTPS-запрос к контролируемому challenge endpoint;
- только правильный одноразовый ответ переводит неизменённый адрес в Verified.
Ошибочный ответ, timeout, небезопасный адрес, запрещённый redirect или параллельное изменение дают Failed либо conflict без активации. Изменение нормализованного URL сбрасывает проверку.
Отдельный адрес платежей
Заголовок раздела «Отдельный адрес платежей»PaymentPublicBaseUrl принадлежит настройкам конкретного платёжного провайдера,
а не Public Booking. Проверенный proxy можно предложить как кандидат, но его
нужно сохранить отдельным явным действием.
Изменение CustomPublicAppBaseUrl не должно переписывать PaymentPublicBaseUrl. Провайдер самостоятельно проверяет допустимость callback-домена.
Границы безопасности
Заголовок раздела «Границы безопасности»- production URL использует HTTPS;
- private, loopback и link-local адреса запрещены для проверки;
- произвольный Host не становится доверенным;
- forwarded headers принимаются только от настроенных proxy;
- raw token и полный сгенерированный URL не записываются в журналы;
- failed или pending адрес не используется скрыто;
- ошибка custom proxy не вызывает автоматический failover на другой домен.