Sozu · Schema
Sozu Frontend Configuration
Configuration for a frontend routing rule in the Sōzu HTTP reverse proxy. A frontend binds an incoming request pattern (hostname + path prefix) to a backend cluster.
ProxyReverse ProxyLoad BalancingRustOpen Source
Properties
| Name | Type | Description |
|---|---|---|
| route_id | string | Unique identifier for this frontend route. |
| address | string | IP:port listener address for this frontend. |
| hostname | string | HTTP Host header value to match for this frontend route. |
| path_prefix | string | URL path prefix to match for this frontend route (empty string matches all paths). |
| cluster_id | string | Identifier of the backend cluster to forward matched requests to. |
| https_redirect | boolean | Whether to redirect HTTP requests on this frontend to HTTPS. |
| sticky_session | boolean | Whether to enable sticky sessions for this frontend. |
| certificate | object | TLS certificate configuration for HTTPS frontends. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://api-evangelist.github.io/sozu/json-schema/sozu-frontend-schema.json",
"title": "Sozu Frontend Configuration",
"description": "Configuration for a frontend routing rule in the Sōzu HTTP reverse proxy. A frontend binds an incoming request pattern (hostname + path prefix) to a backend cluster.",
"type": "object",
"properties": {
"route_id": {
"type": "string",
"description": "Unique identifier for this frontend route.",
"example": "frontend-myapp-443"
},
"address": {
"type": "string",
"description": "IP:port listener address for this frontend.",
"example": "0.0.0.0:443"
},
"hostname": {
"type": "string",
"description": "HTTP Host header value to match for this frontend route.",
"example": "myapp.example.com"
},
"path_prefix": {
"type": "string",
"description": "URL path prefix to match for this frontend route (empty string matches all paths).",
"example": "/api"
},
"cluster_id": {
"type": "string",
"description": "Identifier of the backend cluster to forward matched requests to."
},
"https_redirect": {
"type": "boolean",
"description": "Whether to redirect HTTP requests on this frontend to HTTPS.",
"default": false
},
"sticky_session": {
"type": "boolean",
"description": "Whether to enable sticky sessions for this frontend.",
"default": false
},
"certificate": {
"type": "object",
"description": "TLS certificate configuration for HTTPS frontends.",
"properties": {
"certificate": {
"type": "string",
"description": "PEM-encoded certificate."
},
"certificate_chain": {
"type": "string",
"description": "PEM-encoded certificate chain."
},
"key": {
"type": "string",
"description": "PEM-encoded private key."
}
}
}
},
"required": ["route_id", "address", "cluster_id"]
}