文件
贊助的專案

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
	}
}

# 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
}