ansible-collection/roles/caddy/templates/cors.j2
GregoryDosh a98ee79c32
All checks were successful
Update Version / Update Version (push) Successful in 7s
feat(caddy/cors): configurable headers/methods
2025-06-30 23:02:11 -05:00

33 lines
874 B
Django/Jinja

# SPDX-License-Identifier: AGPL-3.0-or-later
# SPDX-FileCopyrightText: Ihor Kalnytskyi
# Referenced from https://kalnytskyi.com/posts/setup-cors-caddy-2/
# and https://caddy.community/t/how-can-i-allow-multiple-domain-origins-in-cors/22129
@cors_preflight{args[0]} {
method OPTIONS
header Origin {args[0]}
}
@cors{args[0]} header Origin {args[0]}
handle @cors_preflight{args[0]} {
header {
Access-Control-Allow-Origin "{args[0]}"
Access-Control-Allow-Credentials true
Access-Control-Allow-Headers "{{CADDY_CADDYFILE_CORS_ALLOW_HEADERS}}"
Access-Control-Allow-Methods "{{CADDY_CADDYFILE_CORS_ALLOW_METHODS}}"
Access-Control-Max-Age "3600"
Vary Origin
defer
}
respond "" 204
}
handle @cors{args[0]} {
header {
Access-Control-Allow-Origin "{args[0]}"
Access-Control-Allow-Credentials true
Access-Control-Expose-Headers *
Vary Origin
defer
}
}