mirror of https://github.com/istio/istio.io.git
19 lines
837 B
Markdown
19 lines
837 B
Markdown
---
|
|
title: Why does my rule not match?
|
|
weight: 50
|
|
---
|
|
|
|
Mixer rules must be valid to be applied at runtime. That means the match
|
|
conditions are well-defined expressions in the
|
|
[language](/docs/reference/config/policy-and-telemetry/expression-language/), the attributes
|
|
are declared in an [attribute
|
|
manifest](/docs/reference/config/policy-and-telemetry/attribute-vocabulary/), and rules have
|
|
no dangling references to handlers and instances.
|
|
|
|
The attribute values are typically normalized before evaluating rules on
|
|
them. For example, HTTP headers have lowercase keys in `request.headers` and
|
|
`response.headers` attributes. An expression
|
|
`request.headers["X-Forwarded-Proto"] == "http"` does not match any request
|
|
even though HTTP headers are case-insensitive. Instead, use an expression
|
|
`request.headers["x-forwarded-proto"] == "http"`.
|