Boilerplate for how I like to write a backend web service.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

35 lines
887 B

# redirect www to bare domain
www.example.com {
redir https://example.com{uri} permanent
}
example.com {
# log to stdout, which is captured by journalctl
log {
output stdout
format console
}
# turn on standard streaming compression
encode gzip zstd
# reverse proxy /api to :3000
reverse_proxy /api/* localhost:3000
reverse_proxy /.well-known/openid-configuration localhost:3000
reverse_proxy /.well-known/jwks.json localhost:3000
# serve static files from public folder, but not /api
@notApi {
file {
try_files {path} {path}/ {path}/index.html
}
not path /api/*
not path /.well-known/openid-configuration
not path /.well-known/jwks.json
}
route {
rewrite @notApi {http.matchers.file.relative}
}
root * /srv/example.com/public/
file_server
}