invoke
⚠️ 实验性
调用一个 命名路由。
当与具有自身内存状态的 HTTP 处理指令配对时,或者当它们在加载时配置成本很高时,这很有用。 如果您有数百个或更多站点,调用命名路由可以帮助减少内存使用。
语法
invoke [<matcher>] <route-name>
- <路由名称> 是应该调用的先前定义的路由的名称。 如果找不到路由,则会触发错误。
示例
定义一个 命名路由,其中包含一个 reverse_proxy
,该路由可以在多个站点中重复使用,并且每个站点都重复使用相同的内存负载均衡状态。
&(app-proxy) {
reverse_proxy app-01:8080 app-02:8080 app-03:8080 {
lb_policy least_conn
health_uri /healthz
health_interval 5s
}
}
# Apex domain allows accessing the app via an /app subpath
# and the main site otherwise.
example.com {
handle_path /app* {
invoke app-proxy
}
handle {
root * /srv
file_server
}
}
# The app is also accessible via a subdomain.
app.example.com {
invoke app-proxy
}