You configured your matcher as /dashboard/*
, but made a request like /dashboard
, which doesn’t match. You’d need to use /dashboard*
to match that request.
Also, the handle
directive doesn’t manipulate the URL path at all, so requests to your backend will still have /dashboard
in it. Is that what you intended? If not, you can use handle_path
instead of handle
to make it strip the path prefix before proxying.
But keep in mind that if your upstream app wasn’t configured to be aware of the subpath, things can break. Read this article to better understand (so I suggest you use subdomains instead of subpaths if possible):