hugo chat permissive cors

This commit is contained in:
nora 2026-01-31 14:36:40 +01:00
parent ac0860cd05
commit c5ec691a7c

View file

@ -62,35 +62,27 @@ in
"api.hugo-chat.noratrieb.dev" = "api.hugo-chat.noratrieb.dev" =
let let
cors = pkgs.writeText "cors" '' cors = pkgs.writeText "cors" ''
# https://gist.github.com/ryanburnette/d13575c9ced201e73f8169d3a793c1a3 @cors_preflight {
@cors_preflight{args[0]} method OPTIONS method OPTIONS
@cors{args[0]} header Origin {args[0]} header Origin *
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]} { handle @cors_preflight {
header { header {
Access-Control-Allow-Origin "{args[0]}" Access-Control-Allow-Origin "*"
Access-Control-Expose-Headers * Access-Control-Allow-Methods "*"
defer Access-Control-Allow-Headers "content-type"
} }
respond 204
} }
''; '';
in in
{ {
logFormat = ""; logFormat = "";
extraConfig = '' extraConfig = ''
import ${cors} https://hugo-chat.noratrieb.dev "DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type" import ${cors}
encode zstd gzip encode zstd gzip
reverse_proxy * localhost:5001 reverse_proxy * localhost:5001
''; '';