Minor tweaks, but I’d write it like this:
:80 {
redir /radicale /radicale/
handle /radicale/* {
uri strip_prefix /radicale
basicauth {
'USER' 'HASH'
}
reverse_proxy localhost:5232 {
header_up X-Script-Name /radicale
}
}
}
This way, it won’t handle /radicalefoo anymore which doesn’t make sense, and you can avoid repeating yourself with the basicauth matcher.