Настрой испытание под себя
Страница проверки, которую показывает шлюз, настраивается на каждом ключе сайта, на его странице Шлюз на прокси в панели, а также через API управления, MCP и Terraform, как и любая другая настройка. Каждая опция ниже по умолчанию стоит на том поведении, которое у тебя уже есть, так что ключ сайта, который ты не трогаешь, работает ровно как работал.
Выбери игру или галочку
Тип испытания решает, что посетитель на самом деле делает:
| Тип | Что делает посетитель | Когда подходит |
|---|---|---|
| Сыграть в игру | Играет в короткую игру-проверку прямо на странице | Более сильный сигнал против ботов. Значение по умолчанию. Стоит посетителю пары секунд. |
| Подтвердить галочкой | Касается один раз, пока идёт проверка доказательством работы | Быстрее, легче, никакой игры ставить не надо. Сигнал слабее. |
Выбор ограничивают два правила:
- Ключ сайта, который требует игру, всегда показывает игру. Если на самом ключе сайта включена настройка Требовать игру для проверки, или твоя команда требует игру на каждом ключе, вариант с галочкой недоступен, и панель говорит, какая настройка его закрепляет. Установка через API вернёт
409 gate-forces-game-mode. - Выбор игры требует установленной игры. Ключу сайта нужна хотя бы одна установленная игра с переигрываемым артефактом, своя или унаследованная от команды. Без неё
409 no-gamesвернёт именно выбор типа игры. Само по себе включение шлюза не вернёт: ключ сайта, который не требует игру, откатывается на галочку, так что шлюз продолжает работать, пока ты разбираешься с играми.
Последний случай стоит уметь распознавать, потому что он выводит сайт со шлюзом из строя: шлюз отвечает каждому посетителю страницей «Проверка недоступна», пока игра снова не станет доступной. Прийти он может и без того, чтобы кто-то менял настройку, ведь игра засчитывается только после того, как её зафиксированная версия прошла нашу проверку детерминизма. Страница «Шлюз на прокси» предупреждает всякий раз, когда ключ сайта в таком состоянии, и ведёт ссылками и на список игр, и на настройку, которая требует игру, так что ты можешь либо установить игру, либо снять требование и отдать дело галочке.
Закрепи язык или тему
И Язык, и Тема по умолчанию стоят на следовать за посетителем, и это почти всегда то, что тебе нужно:
- Язык следует за языком браузера самого посетителя, в тех же одиннадцати языках, что поддерживает виджет.
- Тема следует за светлым или тёмным предпочтением системы посетителя и переключается вместе с ним.
Закрепи одно вместо этого, когда закрытый сайт одноязычный, или когда он держится одной темы и ты хочешь, чтобы проверка ей соответствовала, а не шла за устройством посетителя.
В любом случае страница проверки несёт бренд этого ключа сайта: то же имя бренда, логотип, цвета и ссылки, что и твой виджет, взятые из того же ключа сайта. Это ты настраиваешь один раз, в настройках внешнего вида виджета, а шлюз их подхватывает. Свои пресеты бренда требуют план Apex, как и для виджета; сами опции языка и темы работают на каждом плане, где доступен шлюз.
Формулировки самой страницы проверки не настраиваются.
Переименуй cookie и путь callback
Меняй это только тогда, когда значения по умолчанию сталкиваются с твоим приложением.
Имя cookie (по умолчанию cpt_gate) это cookie первой стороны, которую твой прокси ставит из пропуска. Переименуй её, если твоё приложение уже использует это имя, или если ты держишь несколько закрытых приложений на одном домене и хочешь пропускать их независимо.
Поле, которое POST-ится на твой callback, всегда cpt_gate, как бы ты ни назвал cookie. То есть разбор тела в твоём callback не меняется никогда; меняется только имя, которое он пишет в Set-Cookie. Ответ шлюза включает поле cookie_name, которое говорит твоему callback, какое имя использовать.
Путь callback (по умолчанию /__cpt/callback) это маршрут на твоём собственном источнике, который принимает пропуск и ставит cookie. Перенеси его, если роутер твоего приложения уже занял этот путь. Это должен быть простой путь на твоём источнике: без схемы, без хоста, без query-строки, без фрагмента.
Ограничь шлюз частью путей
Закрывать шлюзом только эти пути и Никогда не закрывать шлюзом эти пути принимают по одному шаблону в строке и формируют сгенерированную конфигурацию обратного прокси. Оставь оба пустыми, и закрыт будет каждый путь.
Они рекомендательные: они меняют сниппет, который ты копируешь, а принуждает к ним твой прокси. Всегда оставляй подзапрос авторизатора и свой путь callback незакрытыми, что сгенерированная конфигурация уже делает за тебя.
Типичный портал входа:
Закрывать шлюзом только эти пути:
/
/api/firstfactor
Никогда не закрывать шлюзом эти пути:
/api/verify
/healthzСм. также
- Настрой страничный шлюз на прокси: прохождение с nginx.
- Рецепты обратного прокси: контракт callback и остальные прокси.
- Обзор: концепция и cookie пропуска.