vps/newinfra/nix/modules/ingress/Caddyfile
2024-08-05 19:31:01 +02:00

71 lines
1.7 KiB
Caddyfile

# https://gist.github.com/ryanburnette/d13575c9ced201e73f8169d3a793c1a3
(cors) {
@cors_preflight{args.0} method OPTIONS
@cors{args.0} header Origin {args.0}
handle @cors_preflight{args.0} {
header {
Access-Control-Allow-Origin "{args.0}"
Access-Control-Allow-Methods "GET, POST, PUT, PATCH, DELETE, OPTIONS"
Access-Control-Allow-Credentials "false"
Access-Control-Allow-Headers "${args.1}"
Access-Control-Max-Age "86400"
defer
}
respond "" 204
}
handle @cors{args.0} {
header {
Access-Control-Allow-Origin "{args.0}"
Access-Control-Expose-Headers *
defer
}
}
}
# TODO: compression?
www.noratrieb.dev {
redir https://noratrieb.dev{uri} permanent
}
uptime.noratrieb.dev {
reverse_proxy * localhost:5010
}
hugo-chat.noratrieb.dev {
reverse_proxy * localhost:5002
}
api.hugo-chat.noratrieb.dev {
import cors https://hugo-chat.noratrieb.dev "DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type"
reverse_proxy * localhost:5001
}
################################################################
# deadname redirects
nilstrieb.dev {
redir https://noratrieb.dev{uri} permanent
}
www.nilstrieb.dev {
redir https://noratrieb.dev{uri} permanent
}
blog.nilstrieb.dev {
redir https://noratrieb.dev/blog{uri} permanent
}
hugo-chat.nilstrieb.dev {
redir https://hugo-chat.noratrieb.dev{uri} permanent
}
api.hugo-chat.nilstrieb.dev {
import cors https://hugo-chat.nilstrieb.dev "DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type"
redir https://api.hugo-chat.noratrieb.dev{uri} permanent
}
uptime.nilstrieb.dev {
redir https://uptime.noratrieb.dev{uri} permanent
}