ドキュメンテーション
a プロジェクト

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
}