Hi, I’m having trouble getting my Caddy reverse proxy to work with the arr apps I can access everything without the reverse proxy. I have set the basic login prompt (like this one) through the arr apps after I logge in to one of the arr apps I either get a blank page or I’m seeing this error page:
firefox
The page isn’t redirecting properly
Firefox has detected that the server is redirecting the request for this address in a way that will never complete.
This problem can sometimes be caused by disabling or refusing to accept cookies.
chromium
This page isn’t working domain.com redirected you too many times.
Try deleting your cookies. ERR_TOO_MANY_REDIRECTS
Caddyfile config (1.1.1.1 is a placeholder ip for my vps external ip)
{
email email@domain.com
}
domain.com {
# qBittorrent
redir /qbit /qbit/
handle_path /qbit/* {
reverse_proxy 1.1.1.1:8080 {
header_up Host {host}
header_up X-Real-IP {remote_host}
header_up X-Forwarded-For {remote_host}
header_up X-Forwarded-Proto {scheme}
}
}
# Sonarr
redir /sonarr /sonarr/
handle_path /sonarr/* {
reverse_proxy 1.1.1.1:8989 {
header_up Host {host}
header_up X-Real-IP {remote_host}
header_up X-Forwarded-For {remote_host}
header_up X-Forwarded-Proto {scheme}
}
}
# Radarr
redir /radarr /radarr/
handle_path /radarr/* {
reverse_proxy 1.1.1.1:7878 {
header_up Host {host}
header_up X-Real-IP {remote_host}
header_up X-Forwarded-For {remote_host}
header_up X-Forwarded-Proto {scheme}
}
}
# Prowlarr
redir /prowlarr /prowlarr/
handle_path /prowlarr/* {
reverse_proxy 1.1.1.1:9696 {
header_up Host {host}
header_up X-Real-IP {remote_host}
header_up X-Forwarded-For {remote_host}
header_up X-Forwarded-Proto {scheme}
}
}
}
I’ve tried setting the URL base to /the_name_of_the_arr_app, but it didn’t work. I’ve attempted it with and without the redir /the_name_of_the_arr_app /the_name_of_the_arr_app/. I’m stuck and unsure of how to resolve the issue. It works fine with qBittorrent.
radarr debug log
2025-07-04 21:27:45.9|Info|Radarr.Http.Authentication.BasicAuthenticationHandler|Basic was not authenticated. Failure message: Authorization header missing.
2025-07-04 21:27:45.9|Info|Radarr.Http.Authentication.BasicAuthenticationHandler|AuthenticationScheme: Basic was challenged.
2025-07-04 21:27:54.1|Debug|Radarr.Http.Authentication.BasicAuthenticationHandler|AuthenticationScheme: Basic was successfully authenticated.
2025-07-04 21:27:54.8|Debug|Radarr.Http.Authentication.BasicAuthenticationHandler|AuthenticationScheme: Basic was successfully authenticated.
2025-07-04 21:27:55.0|Debug|Radarr.Http.Authentication.BasicAuthenticationHandler|AuthenticationScheme: Basic was successfully authenticated.
Are all the *arr services aware that they are expected to have a certain basepath?
Yes, I think so. I have configured it like this
Does it make a difference, if that setting uses a trailing slash? Might be it redirects you to the path without, which triggers caddy to redirect you again, and so on and so forth.
You could also, instead of redirecting, rewrite it. Then it is handled serverside without sending the client somewhere else.