← Cloudflare Waiting Room / waiting-room / how-to
Управление параметрами сеанса пользователя
Настройте эти параметры, чтобы определить, как долго пользователь сохраняет своё место на сайте после выхода из зала ожидания.
Длительность сессии
Как только пользователь попадает на ваш сайт, он считается активным, пока отправляет HTTP-запрос к любому URL-адресу, охваченному вашим залом ожидания, не реже одного раза в длительность сессии минут. Каждый новый запрос заново отсчитывает время активности пользователя, равное длительность сессии.
Отключите продление сеанса, чтобы ограничить время просмотра
Вы можете ограничить время пользователя на сайте одной сессией, установив на панели управления флажок Disable Session Renewal. После того как пользователь был активен на сайте в течение длительность сессии минут, и при этом идёт активная постановка в очередь, этот пользователь будет отправлен в конец очереди. Если активной очереди нет, когда длительность сессии минут истекут, этому пользователю будет выдан новый cookie-файл Waiting Room, и он снова будет учтён как новый пользователь.
Отзыв сессии пользователя с помощью команд источника
Чтобы завершить сессию пользователя при выполнении определённого действия, можно отправить команду в зал ожидания через HTTP-заголовок в ответе от источника. Эта команда указывает залу ожидания отозвать сессию пользователя, связанного с текущим ответом. Это позволяет местам освобождаться более динамично и может увеличить пропускную способность очереди.
Чтобы включить эту функцию в дашборде Cloudflare, установите флажок рядом с пунктом Allow session termination via origin commands from the dashboard.
Чтобы включить эту функцию через Cloudflare API, обновите enabled_origin_commands свойство, чтобы оно включало значение ”revoke” в списке включённых команд источника.
Затем, чтобы вернуть команду отзыва от источника и отозвать сессию пользователя, связанную с текущим запросом, добавьте Cf-Waiting-Room-Command: revoke HTTP-заголовок к ответу от вашего источника.
Чтобы узнать количество отозванных сессий, можно запросить sessionsRevoked метрики из вашего аналитика Waiting Room данные через GraphQL API.