Quickstart
In production, this is typically driven by your dashboard/API. Below is the conceptual flow.
# 1) Create tenant slug (example): acme
# 2) Set origin base URL:
# https://origin.example.com
# 3) Add policies (examples):
# - Cache GET /v1/users TTL 30s
# - Rate limit 60 req/min per API key
# 4) Go live:
curl https://acme.accel.li/v1/users
www docs status console apiEndpoints
Each tenant receives a unique subdomain. For tenant acme:
Use subdomains for clean isolation and precise mitigation if a tenant is reported. Path-based endpoints can be added as a fallback.
Routing & forwarding
accel.li forwards the request path and query string to your configured origin base URL. You may optionally add header transforms, rewrites, or deny/allow rules.
GET https://acme.accel.li/v1/users?limit=50GET https://origin.example.com/v1/users?limit=50Common origin settings
- Connect timeout / read timeout
- Max request body size
- Origin allowlist (IP / hostname)
- Retry policy for safe idempotent requests
Caching
Cache behavior is usually applied per route. Start conservative: cache only public GET routes, and bypass caching when an auth header is present (unless you configure a safe cache key).
GET routes with TTL, bypass when Authorization exists.# Typical response headers you might set/observe:
Cache-Control: public, max-age=30, stale-while-revalidate=60
Age: 12
X-Accel-Cache: HIT
Rate limits & quotas
Limits can be applied per tenant and per route, keyed by API key, IP, or both. Use bursts for legitimate spikes while blocking sustained abuse.
# Example rate-limit style headers:
X-Accel-RateLimit-Limit: 60
X-Accel-RateLimit-Remaining: 17
X-Accel-RateLimit-Reset: 1700000000
Suggested starter policy
- Anonymous: 30 req/min per IP, burst 10
- API key: 120 req/min per key, burst 40
- Hot routes: stricter (e.g., auth, search)
Auth patterns
accel.li supports common patterns depending on your architecture:
- Pass-through: Your origin validates JWT/API keys.
- Edge validation: Validate JWT signature at the edge (optional).
- API keys: Mint keys per consumer, enforce quotas per key.
curl https://acme.accel.li/v1/orders \
-H 'X-API-Key: <key>'
Logs & analytics
For every tenant you should expect: request volume, cache hit ratio, latency percentiles, top routes, and a searchable request log stream (with PII safeguards).
Errors
accel.li returns clean edge errors when a request is blocked, rate-limited, or when an upstream fails.
Security notes
- Reserve sensitive slugs to prevent look-alike tenants.
- Apply strict limits on auth and search routes.
- Keep upstream private whenever possible (origin allowlists).
- Use separate environments (dev/stage/prod) by tenant naming conventions.