Dynamic routing

Sites are data, not config files

Nodes look up the signed site object by Host/SNI in a shared dictionary. Adding, changing or removing a site updates data only — nginx does not reload.

Dynamic routing request pathA request is matched by Host or SNI in a shared dictionary, the signed site object is loaded, then security, cache and origin fetch run in order. Site changes only update data — no reload.1. Host / SNI2. Shared-dict lookup3. Signed site object4. Security phase5. Cache6. Origin

No reloads

Site changes never reload nginx, so long-lived connections and HTTP/3 sessions survive. Only new listening ports trigger a reload.

Signed site objects

The control plane signs every site object; nodes verify before activating it.

100k sites measured

With 100,000 sites, one change goes live in 1.50 s; warm requests run at about 0.2 ms p50.

Status and limits

One million sites is the design target; measured so far up to 100,000 sites (single host, 2 workers).

How to use it:Install a node →

← All features