Hello all,
I figured that a chunk of the selfhost community is using Caddy, so decided to post my query here. I am a novice in Caddy, so I might be saying some incorrect terms.
Some information
- The router and the host running Caddy, are different machines
- The router page is running HTTP, but I am accessing it via HTTPS through Caddy
- Caddy is running via Docker.
I have a couple of services running on a host, so I access them via Caddy’s reverse proxy. Now I am also trying to access my router login via the same reverse proxy. This is what the router entry in the caddyfile looks like
.
.
{
local_certs
}
login.router.lan {
reverse_proxy 192.168.1.1:80
}
.
.
With this entry, I can access the login page. However, when I enter the password, I feel like it’s attempting to login but then it just comes back to the original login page. When I access it directly, the login is successful. I also have Pihole running and the Pihole login process works fine. So I suspect that the router login page is expecting some extra information from Caddy to forward it to the login page.
After some searching online and some LLM wrangling, I figured it’s some cookie issue or my login page is expecting a certain host.
What should I add to my Caddyfile so that the login redirect works?
Edit: Clarification! Everything is behind wireguard. Nothing is exposed to public (other than wireguard). I only access it within my home. The router login page cannot be accessed from outside.


Why are you exposing your router login to the open web?? No bueno!
I take it you’re hitting that page via browsing to your public IP or domain name you setup? I’m no expert but it sounds like you’re using a self signed cert and using https to login to your router and it doesn’t like that…
I use wireguard when I’m outside. So I first turn wireguard and then access all my stuff.
Any way to trick my router login page? It’s a TP-Link router