Hi ![]()
path matchers are exact since Caddy v2.
So
handle /web {
will only match /web but not /web/ or /web/something.else.
handle /web* {
on the other hand, matches /web, /web/ and e.g. /web/something.else (and /webANYTHING actually).
Also, a request to /web/something.else would try to serve the file /home/server/trackstar/client/build/web/web/something.else (note the /web/web/) because handle passes the full path to file_server.
Usually one would use handle_path in your case:
handle_path /web* {
And finally, linux file permissions:
caddy runs as user caddy (and group caddy) with the default systemd service and might not have access to your /home/home/server/trackstar/client/build/web directory and respond blank http/403 (Forbidden) pages.
I explained that a bit in Reverse proxy + static file serving results in 403 (Forbidden) for static files - #2 by IndeedNotJames ![]()
Feel free to ask any further questions ![]()