invoke
⚠️ 实验性
调用一个命名路由。
当与拥有自身内存状态的 HTTP 处理器指令配合使用时,或者这些处理器在加载时创建成本较高时,此指令很有用。如果你有数百个甚至更多站点,调用命名路由可以帮助减少内存使用。
语法
invoke [<matcher>] <route-name>
- <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 } } # 根域名允许通过 /app 子路径访问应用, # 其他路径访问主站点。 example.com { handle_path /app* { invoke app-proxy } handle { root /srv file_server } } # 该应用也可通过子域名访问。 app.example.com { invoke app-proxy }