Reverse Proxy
Tedd a Fluxheimet egy application server elé. A Fluxheim kezeli a TLS-t, headereket, limiteket és upstream selectiont.
Basic proxy
[[vhosts]]
name = "app"
hosts = ["app.example.com"]
[[vhosts.routes]]
path_prefix = "/"
action = "proxy"
upstreams = ["127.0.0.1:3000"]
Route választások
| Funkció | Használd, amikor |
|---|---|
path_exact | Egy URL-hez precise route kell. |
path_prefix | Egy teljes URL subtree egy backendhez megy. |
strip_prefix | A backend ne lássa a public prefixet. |
rewrite_prefix | A backend más internal prefixet vár. |
methods | Egy route csak kiválasztott HTTP methodokat fogadhat. |
Path rewrite példa
[[vhosts.routes]]
name = "api"
path_prefix = "/api/"
strip_prefix = "/api/"
rewrite_prefix = "/internal/"
[vhosts.routes.proxy]
upstreams = ["10.0.0.20:8080"]
connect_timeout_secs = 5
read_timeout_secs = 30
send_timeout_secs = 30
CORS böngészőalkalmazásokhoz
Csak akkor engedélyezze a CORS-t, ha az ismert eredetű böngészőalkalmazásoknak meg kell hívniuk ezt az útvonalat.
[headers.cors]
enabled = true
allow_origins = ["https://app.example.com"]
allow_methods = ["GET", "HEAD", "POST"]
allow_headers = ["authorization", "content-type"]
allow_credentials = true
max_age_secs = 600
- A Fluxheim helyben válaszol az érvényes CORS preflight kérésekre; az elutasított preflight kérések
403választ adnak anélkül, hogy elérnék az alkalmazást. - Ne használjon helyettesítő karaktert a hitelesítő adatokkal.
- A CORS nem hitelesítés, engedélyezés vagy CSRF-védelem.
Production megjegyzések
- Tartsd az alkalmazást loopbacken vagy private networkön.
- Uploadok kitétele előtt állíts be request body limiteket.
- Use trusted proxy settings only for networks you control.
- Preferáld az explicit route-okat egy nagy fallback helyett, ha különböző pathoknak külön safety rule kell.