58 lines
774 B
Caddyfile
58 lines
774 B
Caddyfile
{
|
|
admin off
|
|
}
|
|
|
|
:80 {
|
|
encode zstd gzip
|
|
|
|
log {
|
|
output stdout
|
|
format json
|
|
}
|
|
|
|
@api path /api/*
|
|
route @api {
|
|
rate_limit {
|
|
zone auth {
|
|
match {
|
|
path /api/auth/login /api/auth/signup /api/auth/refresh
|
|
}
|
|
key {remote_host}
|
|
events 10
|
|
window 1m
|
|
}
|
|
zone checkout {
|
|
match {
|
|
path /api/orders/checkout
|
|
}
|
|
key {remote_host}
|
|
events 10
|
|
window 10m
|
|
}
|
|
zone payment_callback {
|
|
match {
|
|
path /api/payments/pally/result
|
|
}
|
|
key {remote_host}
|
|
events 60
|
|
window 1m
|
|
}
|
|
zone api {
|
|
match {
|
|
not path /api/health/
|
|
}
|
|
key {remote_host}
|
|
events 120
|
|
window 1m
|
|
}
|
|
}
|
|
|
|
uri strip_prefix /api
|
|
reverse_proxy backend:8000
|
|
}
|
|
|
|
root * /srv
|
|
try_files {path} /index.html
|
|
file_server
|
|
}
|