---
type: how-to
title: Настрой испытание под себя
summary: Выбери игру или галочку в одно касание, закрепи язык и тему, и переименуй cookie и путь callback, которые шлюз использует на твоём источнике.
---

Страница проверки, которую показывает шлюз, настраивается на каждом ключе сайта, на его странице **Шлюз на прокси** в панели, а также через [API управления](/docs/automation/management-api), MCP и Terraform, как и любая другая настройка. Каждая опция ниже по умолчанию стоит на том поведении, которое у тебя уже есть, так что ключ сайта, который ты не трогаешь, работает ровно как работал.

## Выбери игру или галочку

**Тип испытания** решает, что посетитель на самом деле делает:

| Тип | Что делает посетитель | Когда подходит |
|---|---|---|
| **Сыграть в игру** | Играет в короткую игру-проверку прямо на странице | Более сильный сигнал против ботов. Значение по умолчанию. Стоит посетителю пары секунд. |
| **Подтвердить галочкой** | Касается один раз, пока идёт проверка доказательством работы | Быстрее, легче, никакой игры ставить не надо. Сигнал слабее. |

Выбор ограничивают два правила:

- **Ключ сайта, который требует игру, всегда показывает игру.** Если на самом ключе сайта включена настройка **Требовать игру для проверки**, или твоя команда требует игру на каждом ключе, вариант с галочкой недоступен, и панель говорит, какая настройка его закрепляет. Установка через API вернёт `409 gate-forces-game-mode`.
- **Выбор игры требует установленной игры.** Ключу сайта нужна хотя бы одна установленная игра с переигрываемым артефактом, своя или унаследованная от команды. Без неё `409 no-games` вернёт именно *выбор* типа игры. Само по себе включение шлюза не вернёт: ключ сайта, который не требует игру, откатывается на галочку, так что шлюз продолжает работать, пока ты разбираешься с играми.

<Callout type="info">
Если последнюю установленную игру потом удалят, ключ сайта, который требует игру, перестанет отдавать проверку, а не тихо откатится на что-то другое, потому что на ключе с требованием игры галочка проверить не может. Ключ, который игру *не* требует, откатится на галочку, чтобы твой сайт остался достижимым.
</Callout>

Последний случай стоит уметь распознавать, потому что он выводит сайт со шлюзом из строя: шлюз отвечает каждому посетителю страницей «Проверка недоступна», пока игра снова не станет доступной. Прийти он может и без того, чтобы кто-то менял настройку, ведь игра засчитывается только после того, как её зафиксированная версия прошла нашу проверку детерминизма. Страница «Шлюз на прокси» предупреждает всякий раз, когда ключ сайта в таком состоянии, и ведёт ссылками и на список игр, и на настройку, которая требует игру, так что ты можешь либо установить игру, либо снять требование и отдать дело галочке.

## Закрепи язык или тему

И **Язык**, и **Тема** по умолчанию стоят на *следовать за посетителем*, и это почти всегда то, что тебе нужно:

- **Язык** следует за языком браузера самого посетителя, в тех же одиннадцати языках, что поддерживает виджет.
- **Тема** следует за светлым или тёмным предпочтением системы посетителя и переключается вместе с ним.

Закрепи одно вместо этого, когда закрытый сайт одноязычный, или когда он держится одной темы и ты хочешь, чтобы проверка ей соответствовала, а не шла за устройством посетителя.

В любом случае страница проверки несёт **бренд этого ключа сайта**: то же имя бренда, логотип, цвета и ссылки, что и твой виджет, взятые из того же ключа сайта. Это ты настраиваешь один раз, в настройках внешнего вида виджета, а шлюз их подхватывает. Свои пресеты бренда требуют план Apex, как и для виджета; сами опции языка и темы работают на каждом плане, где доступен шлюз.

Формулировки самой страницы проверки не настраиваются.

## Переименуй cookie и путь callback

Меняй это только тогда, когда значения по умолчанию сталкиваются с твоим приложением.

**Имя cookie** (по умолчанию `cpt_gate`) это cookie первой стороны, которую твой прокси ставит из пропуска. Переименуй её, если твоё приложение уже использует это имя, или если ты держишь несколько закрытых приложений на одном домене и хочешь пропускать их независимо.

<Callout type="warn">
**Переименование с одного своего имени на другое кладёт твой закрытый сайт, пока ты заново не скопируешь сниппет обратного прокси со страницы Шлюз на прокси твоего ключа сайта и не перезагрузишь прокси.** Шлюз ищет новое имя, пока твой прокси всё ещё пишет старое, так что посетителя отправляют на проверку, он её проходит, и его тут же отправляют на неё снова, в цикле, который заканчивается лимитом частоты. А вот уйти с умолчания `cpt_gate` безопасно: можно сначала сменить, а подключить потом, потому что шлюз по-прежнему распознаёт значение по умолчанию.
</Callout>

**Поле, которое POST-ится на твой callback, всегда `cpt_gate`**, как бы ты ни назвал cookie. То есть разбор тела в твоём callback не меняется никогда; меняется только имя, которое он пишет в `Set-Cookie`. Ответ шлюза включает поле `cookie_name`, которое говорит твоему callback, какое имя использовать.

**Путь callback** (по умолчанию `/__cpt/callback`) это маршрут на твоём собственном источнике, который принимает пропуск и ставит cookie. Перенеси его, если роутер твоего приложения уже занял этот путь. Это должен быть простой путь на твоём источнике: без схемы, без хоста, без query-строки, без фрагмента.

## Ограничь шлюз частью путей

**Закрывать шлюзом только эти пути** и **Никогда не закрывать шлюзом эти пути** принимают по одному шаблону в строке и формируют сгенерированную конфигурацию обратного прокси. Оставь оба пустыми, и закрыт будет каждый путь.

Они рекомендательные: они меняют сниппет, который ты копируешь, а принуждает к ним твой прокси. Всегда оставляй подзапрос авторизатора и свой путь callback незакрытыми, что сгенерированная конфигурация уже делает за тебя.

Типичный портал входа:

```
Закрывать шлюзом только эти пути:
/
/api/firstfactor

Никогда не закрывать шлюзом эти пути:
/api/verify
/healthz
```

## См. также

- [Настрой страничный шлюз на прокси](/docs/proxy-page-gate/set-up): прохождение с nginx.
- [Рецепты обратного прокси](/docs/proxy-page-gate/reverse-proxy-recipes): контракт callback и остальные прокси.
- [Обзор](/docs/proxy-page-gate/overview): концепция и cookie пропуска.
