Обработчики ответов
Обработчики ответов можно использовать для фильтрации (или классификации) ответов по определённым критериям.
Они обычно появляются только в конфигурации внутри других директив, чтобы принимать решения об ответе по мере его отправки клиенту.
Синтаксис
@name {
status <code...>
header <field> [<value>]
}
Обработчики
статус
status <code...>
По коду HTTP-статуса.
-
<code...> — это список кодов HTTP-статуса. Специальными случаями являются строки вроде
2xxи3xx, которые соответствуют всем кодам статуса в диапазоне200-299и300-399соответственно.
Пример:
@success status 2xx
заголовок
header <field> [<value>]
По полям заголовков ответа.
-
<field>— это имя поля HTTP-заголовка для проверки.- Если оно начинается с
!, поле не должно существовать для соответствия (опустить аргумент значения).
- Если оно начинается с
-
<value>— это значение, которое должно иметь поле для соответствия.- Если оно начинается с
*, выполняется быстрое совпадение по суффиксу (появляется в конце). - Если оно заканчивается на
*, выполняется быстрое совпадение по префиксу (появляется в начале). - Если оно заключено в
*, выполняется быстрое совпадение по подстроке (появляется где-то). - В противном случае, выполняется быстрое точное совпадение.
- Если оно начинается с
Разные поля заголовка в одном наборе соединяются операцией И. Несколько значений для одного поля соединяются операцией ИЛИ.
Обратите внимание, что поля заголовков могут повторяться и иметь разные значения. Приложения на стороне сервера ДОЛЖНЫ учитывать, что значения полей заголовка являются массивами, а не одиночными значениями, и Caddy не интерпретирует смысл в таких ситуациях.
Пример:
Сопоставить ответы с заголовком Foo, содержащим значение bar:
@upgrade header Foo *bar*
Сопоставить ответы с заголовком Foo, имеющим значение bar ИЛИ baz:
@foo {
header Foo bar
header Foo baz
}
Сопоставить ответы, у которых отсутствует поле заголовка Foo:
@not_foo header !Foo
© 2015-2025 Matthew Holt and The Caddy Authors
Licensed under the Apache License 2.0.
Caddy is a registered trademark of Stack Holdings GmbH.
https://caddyserver.com/docs/caddyfile/response-matchers