Перейти к содержанию

Глава 22. Условия исключений

Условия исключений используются в слое <Exception> для кастомизации страниц ошибок и уведомлений. Когда прокси генерирует страницу ошибки (блокировка политикой, таймаут подключения, ошибка DNS и т.д.), в контексте транзакции устанавливаются поля исключения. Условия этой главы позволяют проверять эти поля и применять различные шаблоны страниц в зависимости от причины ошибки.

В Redcoat при срабатывании deny в слое <Proxy> автоматически устанавливается exception.id=policy_denied, после чего оценивается слой <Exception>.

22.1. exception.id=

Проверяет идентификатор исключения. Идентификатор устанавливается прокси при генерации ошибки или действием exception() в других слоях.

Синтаксис:

exception.id=exception_name
exception.id=(exception_name, exception_name, ...)

где:

  • exception_name — строковый идентификатор исключения (например, policy_denied, timeout_error, dns_lookup_failed, connection_refused).

Слои и транзакции: Exception.

Пример:

<Exception>
    ; Кастомная страница для заблокированных политикой
    exception.id=policy_denied exception(corporate_block_page)

    ; Кастомная страница для сетевых ошибок
    exception.id=(timeout_error, connection_refused) exception(network_error_page)

Реализация: Полная. При срабатывании deny в слое <Proxy> автоматически устанавливается exception.id=policy_denied. При вызове exception(name) устанавливается заданный пользователем идентификатор. Слой <Exception> оценивается после блокировки в слое <Proxy>.

BlueCoat CPL Reference: exception.id= . Совместимость полная.

См. также: exception() (глава 36).