Why does one subdomain not load a page and the other subdomains work

1. The problem I’m having:

I’m a little confused. I have an official domain thuis.dev which shows a public website on my local Raspberry Pi using eth0.
Next to that I have multiple subdomains for my OpenMediaVault admin page and two Pi-hole admin pages using the same Raspberry Pi using eth1 which is only available internally.

All this seems to work fine, these subdomains are available using Pi-hole (DNSMasq) on my two Raspberry Pi’s. Except I noticed that subdomain pi-hole.intranet.thuis.dev does work when I have thuis.dev as a wildcard domain. But when I disable the wildcard it only shows a white page.

Both Pi-hole installs are on two different Raspberry Pi’s. Caddy reverse proxy’s to both Lighttpd installs installed by Pi-hole. Exactly the same, just different servers.

What is weird to me is that pi-hole.intranet.thuis.dev breaks, but the other two subdomains keep working with the wildcard domain.

2. Error messages and/or full log output:

3. Caddy version:

v2.7.6

4. How I installed and ran Caddy:

a. System environment:

Debian 12 for Raspberry Pi
Caddy is loaded using Systemctl

b. Command:

c. Service/unit/compose file:

d. My complete Caddy config:

# The Caddyfile is an easy way to configure your Caddy web server.
#
# Unless the file starts with a global options block, the first
# uncommented line is always the address of your site.
#
# To use your own domain name (with automatic HTTPS), first make
# sure your domain's A/AAAA DNS records are properly pointed to
# this machine's public IP, then replace ":80" below with your
# domain name.

#:80 {
# Set this path to your site's directory.
#root * /usr/share/caddy

# Enable the static file server.
#file_server

# Another common task is to set up a reverse proxy:
# reverse_proxy localhost:8080

# Or serve a PHP site through php-fpm:
# php_fastcgi localhost:9000
#}

# Refer to the Caddy docs for more information:
# https://caddyserver.com/docs/caddyfile

thuis.dev, www.thuis.dev {
        bind 192.168.102.2
        root * /var/www/thuis.dev/public_html
        file_server
        encode zstd gzip
}

pi-nas.intranet.thuis.dev {
        bind 192.168.102.25
        encode zstd gzip
        reverse_proxy 192.168.102.50
}

pi-hole.intranet.thuis.dev {
        bind 192.168.102.25
        encode zstd gzip
        redir / /admin{uri}
        reverse_proxy 127.0.0.1:1080
}

pi-hole.pi-nas.intranet.thuis.dev {
        bind 192.168.102.25
        encode zstd gzip
        redir / /admin{uri}
        reverse_proxy 192.168.102.50:1080
}

5. Links to relevant resources:

And now it worked for a bit, after I turned the wildcard domain back on, but after an hour it’s just a white page again.

I don’t understand what you mean. The config you showed doesn’t have any wildcards.

Please show the actual config you’re having a problem with, plus your logs. Without your logs, it’s impossible to say what’s going on.

Sorry with the wildcard domain I mean on I set *.thuis.dev on the dns server of the company where I registered the domain. But it seems that’s not the problem, I have the wildcard set in the dns now and the site is an empty white page again.

Oh sorry, I completely forgot to add that.

Jan 27 11:48:47 pi-hole caddy[900]: {"level":"info","ts":1706352527.5877771,"logger":"http.auto_https","msg":"server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS","server_name":"srv0","https_port":443}
Jan 27 11:48:47 pi-hole caddy[900]: {"level":"info","ts":1706352527.587842,"logger":"http.auto_https","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv0"}
Jan 27 11:48:47 pi-hole caddy[900]: {"level":"info","ts":1706352527.587891,"logger":"http.auto_https","msg":"server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS","server_name":"srv1","https_port":443}
Jan 27 11:48:47 pi-hole caddy[900]: {"level":"info","ts":1706352527.5879145,"logger":"http.auto_https","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv1"}
Jan 27 11:48:47 pi-hole caddy[900]: {"level":"info","ts":1706352527.589431,"logger":"http","msg":"enabling HTTP/3 listener","addr":"192.168.102.25:443"}
Jan 27 11:48:47 pi-hole caddy[900]: {"level":"info","ts":1706352527.5895097,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]}
Jan 27 11:48:47 pi-hole caddy[900]: {"level":"info","ts":1706352527.589613,"logger":"http","msg":"enabling HTTP/3 listener","addr":"192.168.102.2:443"}
Jan 27 11:48:47 pi-hole caddy[900]: {"level":"info","ts":1706352527.5896595,"logger":"http.log","msg":"server running","name":"srv1","protocols":["h1","h2","h3"]}
Jan 27 11:48:47 pi-hole caddy[900]: {"level":"info","ts":1706352527.5898278,"logger":"http.log","msg":"server running","name":"remaining_auto_https_redirects","protocols":["h1","h2","h3"]}
Jan 27 11:48:47 pi-hole caddy[900]: {"level":"info","ts":1706352527.5898583,"logger":"http","msg":"enabling automatic TLS certificate management","domains":["pi-nas.intranet.thuis.dev","pi-hole.pi-nas.intranet.thuis.dev","pi-hole.intranet.thuis.dev","thuis.dev","www.thuis.dev"]}
Jan 27 11:48:47 pi-hole caddy[900]: {"level":"info","ts":1706352527.5899053,"logger":"http","msg":"servers shutting down with eternal grace period"}
Jan 27 11:48:47 pi-hole caddy[900]: {"level":"info","ts":1706352527.5906754,"msg":"autosaved config (load with --resume flag)","file":"/var/lib/caddy/.config/caddy/autosave.json"}
Jan 27 11:48:47 pi-hole caddy[900]: {"level":"info","ts":1706352527.5908318,"logger":"admin.api","msg":"load complete"}
Jan 27 11:48:47 pi-hole caddy[900]: {"level":"info","ts":1706352527.591413,"logger":"admin","msg":"stopped previous server","address":"localhost:2019"}
Jan 27 11:50:12 pi-hole caddy[900]: {"level":"info","ts":1706352612.0168412,"logger":"admin.api","msg":"received request","method":"POST","host":"localhost:2019","uri":"/load","remote_ip":"127.0.0.1","remote_port":"47938","headers":{"Accept-Encoding":["gzip"],"Content-Length":["1559"],"Content-Type":["application/json"],"Origin":["http://localhost:2019"],"User-Agent":["Go-http-client/1.1"]}}
Jan 27 11:50:12 pi-hole caddy[900]: {"level":"info","ts":1706352612.0192227,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//localhost:2019","//[::1]:2019","//127.0.0.1:2019"]}
Jan 27 11:50:12 pi-hole caddy[900]: {"level":"info","ts":1706352612.0196483,"logger":"http.auto_https","msg":"server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS","server_name":"srv0","https_port":443}
Jan 27 11:50:12 pi-hole caddy[900]: {"level":"info","ts":1706352612.0197139,"logger":"http.auto_https","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv0"}
Jan 27 11:50:12 pi-hole caddy[900]: {"level":"info","ts":1706352612.0197577,"logger":"http.auto_https","msg":"server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS","server_name":"srv1","https_port":443}
Jan 27 11:50:12 pi-hole caddy[900]: {"level":"info","ts":1706352612.0197804,"logger":"http.auto_https","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv1"}
Jan 27 11:50:12 pi-hole caddy[900]: {"level":"info","ts":1706352612.0214434,"logger":"http","msg":"enabling HTTP/3 listener","addr":"192.168.102.25:443"}
Jan 27 11:50:12 pi-hole caddy[900]: {"level":"info","ts":1706352612.0215242,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]}
Jan 27 11:50:12 pi-hole caddy[900]: {"level":"info","ts":1706352612.0216358,"logger":"http","msg":"enabling HTTP/3 listener","addr":"192.168.102.2:443"}
Jan 27 11:50:12 pi-hole caddy[900]: {"level":"info","ts":1706352612.0216722,"logger":"http.log","msg":"server running","name":"srv1","protocols":["h1","h2","h3"]}
Jan 27 11:50:12 pi-hole caddy[900]: {"level":"info","ts":1706352612.021839,"logger":"http.log","msg":"server running","name":"remaining_auto_https_redirects","protocols":["h1","h2","h3"]}
Jan 27 11:50:12 pi-hole caddy[900]: {"level":"info","ts":1706352612.0218616,"logger":"http","msg":"enabling automatic TLS certificate management","domains":["pi-hole.intranet.thuis.dev","pi-nas.intranet.thuis.dev","pi-hole.pi-nas.intranet.thuis.dev","thuis.dev","www.thuis.dev"]}
Jan 27 11:50:12 pi-hole caddy[900]: {"level":"info","ts":1706352612.0219052,"logger":"http","msg":"servers shutting down with eternal grace period"}
Jan 27 11:50:12 pi-hole caddy[900]: {"level":"info","ts":1706352612.0225518,"msg":"autosaved config (load with --resume flag)","file":"/var/lib/caddy/.config/caddy/autosave.json"}
Jan 27 11:50:12 pi-hole caddy[900]: {"level":"info","ts":1706352612.022789,"logger":"admin.api","msg":"load complete"}
Jan 27 11:50:12 pi-hole caddy[900]: {"level":"info","ts":1706352612.027122,"logger":"admin","msg":"stopped previous server","address":"localhost:2019"}
Jan 27 11:50:26 pi-hole caddy[900]: {"level":"info","ts":1706352626.28135,"logger":"admin.api","msg":"received request","method":"POST","host":"localhost:2019","uri":"/load","remote_ip":"127.0.0.1","remote_port":"46162","headers":{"Accept-Encoding":["gzip"],"Content-Length":["1559"],"Content-Type":["application/json"],"Origin":["http://localhost:2019"],"User-Agent":["Go-http-client/1.1"]}}
Jan 27 11:50:26 pi-hole caddy[900]: {"level":"info","ts":1706352626.2822413,"msg":"config is unchanged"}
Jan 27 11:50:26 pi-hole caddy[900]: {"level":"info","ts":1706352626.282446,"logger":"admin.api","msg":"load complete"}
Jan 27 15:20:27 pi-hole caddy[900]: {"level":"info","ts":1706365227.8478007,"logger":"admin.api","msg":"received request","method":"POST","host":"localhost:2019","uri":"/load","remote_ip":"127.0.0.1","remote_port":"55378","headers":{"Accept-Encoding":["gzip"],"Content-Length":["1597"],"Content-Type":["application/json"],"Origin":["http://localhost:2019"],"User-Agent":["Go-http-client/1.1"]}}
Jan 27 15:20:27 pi-hole caddy[900]: {"level":"info","ts":1706365227.8500001,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//localhost:2019","//[::1]:2019","//127.0.0.1:2019"]}
Jan 27 15:20:27 pi-hole caddy[900]: {"level":"info","ts":1706365227.850433,"logger":"http.auto_https","msg":"server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS","server_name":"srv0","https_port":443}
Jan 27 15:20:27 pi-hole caddy[900]: {"level":"info","ts":1706365227.8505065,"logger":"http.auto_https","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv0"}
Jan 27 15:20:27 pi-hole caddy[900]: {"level":"info","ts":1706365227.8505926,"logger":"http.auto_https","msg":"server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS","server_name":"srv1","https_port":443}
Jan 27 15:20:27 pi-hole caddy[900]: {"level":"info","ts":1706365227.8506215,"logger":"http.auto_https","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv1"}
Jan 27 15:20:27 pi-hole caddy[900]: {"level":"info","ts":1706365227.8506527,"logger":"http.auto_https","msg":"server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS","server_name":"srv2","https_port":443}
Jan 27 15:20:27 pi-hole caddy[900]: {"level":"info","ts":1706365227.8506732,"logger":"http.auto_https","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv2"}
Jan 27 15:20:27 pi-hole caddy[900]: {"level":"info","ts":1706365227.8522387,"logger":"http","msg":"enabling HTTP/3 listener","addr":"192.168.102.25:443"}
Jan 27 15:20:27 pi-hole caddy[900]: {"level":"info","ts":1706365227.8523219,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]}
Jan 27 15:20:27 pi-hole caddy[900]: {"level":"info","ts":1706365227.8524191,"logger":"http","msg":"enabling HTTP/3 listener","addr":"192.168.102.2:443"}
Jan 27 15:20:27 pi-hole caddy[900]: {"level":"info","ts":1706365227.852449,"logger":"http.log","msg":"server running","name":"srv1","protocols":["h1","h2","h3"]}
Jan 27 15:20:27 pi-hole caddy[900]: {"level":"info","ts":1706365227.8527312,"logger":"http","msg":"enabling HTTP/3 listener","addr":":443"}
Jan 27 15:20:27 pi-hole caddy[900]: {"level":"info","ts":1706365227.8532507,"logger":"http.log","msg":"server running","name":"srv2","protocols":["h1","h2","h3"]}
Jan 27 15:20:27 pi-hole caddy[900]: {"level":"info","ts":1706365227.853606,"logger":"http.log","msg":"server running","name":"remaining_auto_https_redirects","protocols":["h1","h2","h3"]}
Jan 27 15:20:27 pi-hole caddy[900]: {"level":"info","ts":1706365227.8536346,"logger":"http","msg":"enabling automatic TLS certificate management","domains":["pi-hole.intranet.thuis.dev","pi-hole.pi-nas.intranet.thuis.dev","pi-nas.intranet.thuis.dev","thuis.dev","www.thuis.dev"]}
Jan 27 15:20:27 pi-hole caddy[900]: {"level":"info","ts":1706365227.8536816,"logger":"http","msg":"servers shutting down with eternal grace period"}
Jan 27 15:20:27 pi-hole caddy[900]: {"level":"info","ts":1706365227.854351,"msg":"autosaved config (load with --resume flag)","file":"/var/lib/caddy/.config/caddy/autosave.json"}
Jan 27 15:20:27 pi-hole caddy[900]: {"level":"info","ts":1706365227.8545687,"logger":"admin.api","msg":"load complete"}
Jan 27 15:20:27 pi-hole caddy[900]: {"level":"info","ts":1706365227.858763,"logger":"admin","msg":"stopped previous server","address":"localhost:2019"}
Jan 27 15:21:38 pi-hole caddy[900]: {"level":"info","ts":1706365298.563769,"logger":"admin.api","msg":"received request","method":"POST","host":"localhost:2019","uri":"/load","remote_ip":"127.0.0.1","remote_port":"56024","headers":{"Accept-Encoding":["gzip"],"Content-Length":["1547"],"Content-Type":["application/json"],"Origin":["http://localhost:2019"],"User-Agent":["Go-http-client/1.1"]}}
Jan 27 15:21:38 pi-hole caddy[900]: {"level":"info","ts":1706365298.5660198,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//localhost:2019","//[::1]:2019","//127.0.0.1:2019"]}
Jan 27 15:21:38 pi-hole caddy[900]: {"level":"info","ts":1706365298.5664248,"logger":"http.auto_https","msg":"server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS","server_name":"srv0","https_port":443}
Jan 27 15:21:38 pi-hole caddy[900]: {"level":"info","ts":1706365298.5664878,"logger":"http.auto_https","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv0"}
Jan 27 15:21:38 pi-hole caddy[900]: {"level":"info","ts":1706365298.5665677,"logger":"http.auto_https","msg":"server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS","server_name":"srv1","https_port":443}
Jan 27 15:21:38 pi-hole caddy[900]: {"level":"info","ts":1706365298.5665956,"logger":"http.auto_https","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv1"}
Jan 27 15:21:38 pi-hole caddy[900]: {"level":"warn","ts":1706365298.622897,"logger":"pki.ca.local","msg":"installing root certificate (you might be prompted for password)","path":"storage:pki/authorities/local/root.crt"}
Jan 27 15:21:38 pi-hole caddy[900]: {"level":"info","ts":1706365298.6233733,"msg":"not NSS security databases found"}
Jan 27 15:21:38 pi-hole caddy[900]: {"level":"info","ts":1706365298.6234002,"msg":"define JAVA_HOME environment variable to use the Java trust"}
Jan 27 15:21:38 pi-hole sudo[14524]:    caddy : PWD=/ ; USER=root ; COMMAND=/usr/bin/tee /usr/local/share/ca-certificates/Caddy_Local_Authority_-_2024_ECC_Root_180439048008488251015867929115291721058.crt
Jan 27 15:21:38 pi-hole sudo[14524]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=995)
Jan 27 15:21:38 pi-hole sudo[14524]: pam_unix(sudo:session): session closed for user root
Jan 27 15:21:38 pi-hole caddy[900]: {"level":"error","ts":1706365298.6410913,"logger":"pki.ca.local","msg":"failed to install root certificate","error":"failed to execute sudo: exit status 1","certificate_file":"storage:pki/authorities/local/root.crt"}
Jan 27 15:21:38 pi-hole caddy[900]: {"level":"info","ts":1706365298.6415083,"logger":"http.log","msg":"server running","name":"remaining_auto_https_redirects","protocols":["h1","h2","h3"]}
Jan 27 15:21:38 pi-hole caddy[900]: {"level":"info","ts":1706365298.641622,"logger":"http","msg":"enabling HTTP/3 listener","addr":"192.168.102.25:443"}
Jan 27 15:21:38 pi-hole caddy[900]: {"level":"info","ts":1706365298.6416733,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]}
Jan 27 15:21:38 pi-hole caddy[900]: {"level":"info","ts":1706365298.6417558,"logger":"http","msg":"enabling HTTP/3 listener","addr":"192.168.102.2:443"}
Jan 27 15:21:38 pi-hole caddy[900]: {"level":"info","ts":1706365298.6417847,"logger":"http.log","msg":"server running","name":"srv1","protocols":["h1","h2","h3"]}
Jan 27 15:21:38 pi-hole caddy[900]: {"level":"info","ts":1706365298.6417978,"logger":"http","msg":"enabling automatic TLS certificate management","domains":["pi-nas.intranet.thuis.dev","192.168.102.25","thuis.dev","www.thuis.dev","pi-hole.pi-nas.intranet.thuis.dev"]}
Jan 27 15:21:38 pi-hole caddy[900]: {"level":"info","ts":1706365298.642043,"logger":"http","msg":"servers shutting down with eternal grace period"}
Jan 27 15:21:38 pi-hole caddy[900]: {"level":"info","ts":1706365298.6428516,"msg":"autosaved config (load with --resume flag)","file":"/var/lib/caddy/.config/caddy/autosave.json"}
Jan 27 15:21:38 pi-hole caddy[900]: {"level":"info","ts":1706365298.6428618,"logger":"tls.obtain","msg":"acquiring lock","identifier":"192.168.102.25"}
Jan 27 15:21:38 pi-hole caddy[900]: {"level":"info","ts":1706365298.6430368,"logger":"admin.api","msg":"load complete"}
Jan 27 15:21:38 pi-hole caddy[900]: {"level":"info","ts":1706365298.6529226,"logger":"tls.obtain","msg":"lock acquired","identifier":"192.168.102.25"}
Jan 27 15:21:38 pi-hole caddy[900]: {"level":"info","ts":1706365298.6531777,"logger":"tls.obtain","msg":"obtaining certificate","identifier":"192.168.102.25"}
Jan 27 15:21:38 pi-hole caddy[900]: {"level":"info","ts":1706365298.661987,"logger":"tls.obtain","msg":"certificate obtained successfully","identifier":"192.168.102.25"}
Jan 27 15:21:38 pi-hole caddy[900]: {"level":"info","ts":1706365298.6621652,"logger":"tls.obtain","msg":"releasing lock","identifier":"192.168.102.25"}
Jan 27 15:21:38 pi-hole caddy[900]: {"level":"warn","ts":1706365298.6631038,"logger":"tls","msg":"stapling OCSP","error":"no OCSP stapling for [192.168.102.25]: no OCSP server specified in certificate","identifiers":["192.168.102.25"]}
Jan 27 15:21:38 pi-hole caddy[900]: {"level":"info","ts":1706365298.7047293,"logger":"admin","msg":"stopped previous server","address":"localhost:2019"}
Jan 27 15:30:40 pi-hole caddy[900]: {"level":"info","ts":1706365840.287674,"logger":"admin.api","msg":"received request","method":"POST","host":"localhost:2019","uri":"/load","remote_ip":"127.0.0.1","remote_port":"58914","headers":{"Accept-Encoding":["gzip"],"Content-Length":["1608"],"Content-Type":["application/json"],"Origin":["http://localhost:2019"],"User-Agent":["Go-http-client/1.1"]}}
Jan 27 15:30:40 pi-hole caddy[900]: {"level":"info","ts":1706365840.289945,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//localhost:2019","//[::1]:2019","//127.0.0.1:2019"]}
Jan 27 15:30:40 pi-hole caddy[900]: {"level":"info","ts":1706365840.290452,"logger":"http.auto_https","msg":"server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS","server_name":"srv0","https_port":443}
Jan 27 15:30:40 pi-hole caddy[900]: {"level":"info","ts":1706365840.2905426,"logger":"http.auto_https","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv0"}
Jan 27 15:30:40 pi-hole caddy[900]: {"level":"info","ts":1706365840.2906578,"logger":"http.auto_https","msg":"server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS","server_name":"srv1","https_port":443}
Jan 27 15:30:40 pi-hole caddy[900]: {"level":"info","ts":1706365840.2906845,"logger":"http.auto_https","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv1"}
Jan 27 15:30:40 pi-hole caddy[900]: {"level":"info","ts":1706365840.2923596,"logger":"http","msg":"enabling HTTP/3 listener","addr":"192.168.102.25:443"}
Jan 27 15:30:40 pi-hole caddy[900]: {"level":"info","ts":1706365840.292458,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]}
Jan 27 15:30:40 pi-hole caddy[900]: {"level":"info","ts":1706365840.2926834,"logger":"http","msg":"enabling HTTP/3 listener","addr":"192.168.102.2:443"}
Jan 27 15:30:40 pi-hole caddy[900]: {"level":"info","ts":1706365840.292738,"logger":"http.log","msg":"server running","name":"srv1","protocols":["h1","h2","h3"]}
Jan 27 15:30:40 pi-hole caddy[900]: {"level":"info","ts":1706365840.293092,"logger":"http.log","msg":"server running","name":"remaining_auto_https_redirects","protocols":["h1","h2","h3"]}
Jan 27 15:30:40 pi-hole caddy[900]: {"level":"info","ts":1706365840.2931225,"logger":"http","msg":"enabling automatic TLS certificate management","domains":["pi-nas.intranet.thuis.dev","thuis.dev","www.thuis.dev","pi-hole.pi-nas.intranet.thuis.dev","pi-hole.intranet.thuis.dev"]}
Jan 27 15:30:40 pi-hole caddy[900]: {"level":"info","ts":1706365840.294649,"logger":"http","msg":"servers shutting down with eternal grace period"}
Jan 27 15:30:40 pi-hole caddy[900]: {"level":"info","ts":1706365840.2953768,"msg":"autosaved config (load with --resume flag)","file":"/var/lib/caddy/.config/caddy/autosave.json"}
Jan 27 15:30:40 pi-hole caddy[900]: {"level":"info","ts":1706365840.2955694,"logger":"admin.api","msg":"load complete"}
Jan 27 15:30:40 pi-hole caddy[900]: {"level":"info","ts":1706365840.299828,"logger":"admin","msg":"stopped previous server","address":"localhost:2019"}
Jan 27 15:35:33 pi-hole caddy[900]: {"level":"info","ts":1706366133.3085263,"logger":"admin.api","msg":"received request","method":"POST","host":"localhost:2019","uri":"/load","remote_ip":"127.0.0.1","remote_port":"57106","headers":{"Accept-Encoding":["gzip"],"Content-Length":["1608"],"Content-Type":["application/json"],"Origin":["http://localhost:2019"],"User-Agent":["Go-http-client/1.1"]}}
Jan 27 15:35:33 pi-hole caddy[900]: {"level":"info","ts":1706366133.3092785,"msg":"config is unchanged"}
Jan 27 15:35:33 pi-hole caddy[900]: {"level":"info","ts":1706366133.3094218,"logger":"admin.api","msg":"load complete"}
Jan 27 15:43:37 pi-hole caddy[900]: {"level":"info","ts":1706366617.6095672,"logger":"admin.api","msg":"received request","method":"POST","host":"localhost:2019","uri":"/load","remote_ip":"127.0.0.1","remote_port":"54898","headers":{"Accept-Encoding":["gzip"],"Content-Length":["1608"],"Content-Type":["application/json"],"Origin":["http://localhost:2019"],"User-Agent":["Go-http-client/1.1"]}}
Jan 27 15:43:37 pi-hole caddy[900]: {"level":"info","ts":1706366617.611883,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//localhost:2019","//[::1]:2019","//127.0.0.1:2019"]}
Jan 27 15:43:37 pi-hole caddy[900]: {"level":"info","ts":1706366617.6122875,"logger":"http.auto_https","msg":"server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS","server_name":"srv0","https_port":443}
Jan 27 15:43:37 pi-hole caddy[900]: {"level":"info","ts":1706366617.612354,"logger":"http.auto_https","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv0"}
Jan 27 15:43:37 pi-hole caddy[900]: {"level":"info","ts":1706366617.6123917,"logger":"http.auto_https","msg":"server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS","server_name":"srv1","https_port":443}
Jan 27 15:43:37 pi-hole caddy[900]: {"level":"info","ts":1706366617.612415,"logger":"http.auto_https","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv1"}
Jan 27 15:43:37 pi-hole caddy[900]: {"level":"info","ts":1706366617.6140246,"logger":"http","msg":"enabling HTTP/3 listener","addr":"192.168.102.25:443"}
Jan 27 15:43:37 pi-hole caddy[900]: {"level":"info","ts":1706366617.6141005,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]}
Jan 27 15:43:37 pi-hole caddy[900]: {"level":"info","ts":1706366617.6141865,"logger":"http","msg":"enabling HTTP/3 listener","addr":"192.168.102.2:443"}
Jan 27 15:43:37 pi-hole caddy[900]: {"level":"info","ts":1706366617.6142142,"logger":"http.log","msg":"server running","name":"srv1","protocols":["h1","h2","h3"]}
Jan 27 15:43:37 pi-hole caddy[900]: {"level":"info","ts":1706366617.6143548,"logger":"http.log","msg":"server running","name":"remaining_auto_https_redirects","protocols":["h1","h2","h3"]}
Jan 27 15:43:37 pi-hole caddy[900]: {"level":"info","ts":1706366617.6143718,"logger":"http","msg":"enabling automatic TLS certificate management","domains":["pi-hole.pi-nas.intranet.thuis.dev","pi-hole.intranet.thuis.dev","pi-nas.intranet.thuis.dev","thuis.dev","www.thuis.dev"]}
Jan 27 15:43:37 pi-hole caddy[900]: {"level":"info","ts":1706366617.614413,"logger":"http","msg":"servers shutting down with eternal grace period"}
Jan 27 15:43:37 pi-hole caddy[900]: {"level":"info","ts":1706366617.6151822,"msg":"autosaved config (load with --resume flag)","file":"/var/lib/caddy/.config/caddy/autosave.json"}
Jan 27 15:43:37 pi-hole caddy[900]: {"level":"info","ts":1706366617.615342,"logger":"admin.api","msg":"load complete"}
Jan 27 15:43:37 pi-hole caddy[900]: {"level":"info","ts":1706366617.6205719,"logger":"admin","msg":"stopped previous server","address":"localhost:2019"}
Jan 27 15:44:02 pi-hole caddy[900]: {"level":"info","ts":1706366642.2730854,"logger":"admin.api","msg":"received request","method":"POST","host":"localhost:2019","uri":"/load","remote_ip":"127.0.0.1","remote_port":"53472","headers":{"Accept-Encoding":["gzip"],"Content-Length":["1421"],"Content-Type":["application/json"],"Origin":["http://localhost:2019"],"User-Agent":["Go-http-client/1.1"]}}
Jan 27 15:44:02 pi-hole caddy[900]: {"level":"info","ts":1706366642.2752302,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//localhost:2019","//[::1]:2019","//127.0.0.1:2019"]}
Jan 27 15:44:02 pi-hole caddy[900]: {"level":"info","ts":1706366642.275617,"logger":"http.auto_https","msg":"server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS","server_name":"srv0","https_port":443}
Jan 27 15:44:02 pi-hole caddy[900]: {"level":"info","ts":1706366642.2756724,"logger":"http.auto_https","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv0"}
Jan 27 15:44:02 pi-hole caddy[900]: {"level":"info","ts":1706366642.2757068,"logger":"http.auto_https","msg":"server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS","server_name":"srv1","https_port":443}
Jan 27 15:44:02 pi-hole caddy[900]: {"level":"info","ts":1706366642.2757304,"logger":"http.auto_https","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv1"}
Jan 27 15:44:02 pi-hole caddy[900]: {"level":"info","ts":1706366642.277211,"logger":"http","msg":"enabling HTTP/3 listener","addr":"192.168.102.2:443"}
Jan 27 15:44:02 pi-hole caddy[900]: {"level":"info","ts":1706366642.2773013,"logger":"http.log","msg":"server running","name":"srv1","protocols":["h1","h2","h3"]}
Jan 27 15:44:02 pi-hole caddy[900]: {"level":"info","ts":1706366642.2775104,"logger":"http.log","msg":"server running","name":"remaining_auto_https_redirects","protocols":["h1","h2","h3"]}
Jan 27 15:44:02 pi-hole caddy[900]: {"level":"info","ts":1706366642.2776272,"logger":"http","msg":"enabling HTTP/3 listener","addr":"192.168.102.25:443"}
Jan 27 15:44:02 pi-hole caddy[900]: {"level":"info","ts":1706366642.277662,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]}
Jan 27 15:44:02 pi-hole caddy[900]: {"level":"info","ts":1706366642.277675,"logger":"http","msg":"enabling automatic TLS certificate management","domains":["pi-hole.pi-nas.intranet.thuis.dev","pi-hole.intranet.thuis.dev","pi-nas.intranet.thuis.dev","thuis.dev","www.thuis.dev"]}
Jan 27 15:44:02 pi-hole caddy[900]: {"level":"info","ts":1706366642.2777174,"logger":"http","msg":"servers shutting down with eternal grace period"}
Jan 27 15:44:02 pi-hole caddy[900]: {"level":"info","ts":1706366642.278323,"msg":"autosaved config (load with --resume flag)","file":"/var/lib/caddy/.config/caddy/autosave.json"}
Jan 27 15:44:02 pi-hole caddy[900]: {"level":"info","ts":1706366642.2785876,"logger":"admin.api","msg":"load complete"}
Jan 27 15:44:02 pi-hole caddy[900]: {"level":"info","ts":1706366642.278988,"logger":"admin","msg":"stopped previous server","address":"localhost:2019"}
Jan 27 15:46:00 pi-hole caddy[900]: {"level":"info","ts":1706366760.1318421,"logger":"admin.api","msg":"received request","method":"POST","host":"localhost:2019","uri":"/load","remote_ip":"127.0.0.1","remote_port":"50000","headers":{"Accept-Encoding":["gzip"],"Content-Length":["1559"],"Content-Type":["application/json"],"Origin":["http://localhost:2019"],"User-Agent":["Go-http-client/1.1"]}}
Jan 27 15:46:00 pi-hole caddy[900]: {"level":"info","ts":1706366760.1345522,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//localhost:2019","//[::1]:2019","//127.0.0.1:2019"]}
Jan 27 15:46:00 pi-hole caddy[900]: {"level":"info","ts":1706366760.135007,"logger":"http.auto_https","msg":"server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS","server_name":"srv0","https_port":443}
Jan 27 15:46:00 pi-hole caddy[900]: {"level":"info","ts":1706366760.135068,"logger":"http.auto_https","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv0"}
Jan 27 15:46:00 pi-hole caddy[900]: {"level":"info","ts":1706366760.1351042,"logger":"http.auto_https","msg":"server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS","server_name":"srv1","https_port":443}
Jan 27 15:46:00 pi-hole caddy[900]: {"level":"info","ts":1706366760.1351285,"logger":"http.auto_https","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv1"}
Jan 27 15:46:00 pi-hole caddy[900]: {"level":"info","ts":1706366760.1368213,"logger":"http","msg":"enabling HTTP/3 listener","addr":"192.168.102.2:443"}
Jan 27 15:46:00 pi-hole caddy[900]: {"level":"info","ts":1706366760.1369202,"logger":"http.log","msg":"server running","name":"srv1","protocols":["h1","h2","h3"]}
Jan 27 15:46:00 pi-hole caddy[900]: {"level":"info","ts":1706366760.1371882,"logger":"http.log","msg":"server running","name":"remaining_auto_https_redirects","protocols":["h1","h2","h3"]}
Jan 27 15:46:00 pi-hole caddy[900]: {"level":"info","ts":1706366760.1373556,"logger":"http","msg":"enabling HTTP/3 listener","addr":"192.168.102.25:443"}
Jan 27 15:46:00 pi-hole caddy[900]: {"level":"info","ts":1706366760.1375303,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]}
Jan 27 15:46:00 pi-hole caddy[900]: {"level":"info","ts":1706366760.1375544,"logger":"http","msg":"enabling automatic TLS certificate management","domains":["pi-hole.pi-nas.intranet.thuis.dev","pi-hole.intranet.thuis.dev","pi-nas.intranet.thuis.dev","thuis.dev","www.thuis.dev"]}
Jan 27 15:46:00 pi-hole caddy[900]: {"level":"info","ts":1706366760.1376863,"logger":"http","msg":"servers shutting down with eternal grace period"}
Jan 27 15:46:00 pi-hole caddy[900]: {"level":"info","ts":1706366760.138229,"msg":"autosaved config (load with --resume flag)","file":"/var/lib/caddy/.config/caddy/autosave.json"}
Jan 27 15:46:00 pi-hole caddy[900]: {"level":"info","ts":1706366760.138389,"logger":"admin.api","msg":"load complete"}
Jan 27 15:46:00 pi-hole caddy[900]: {"level":"info","ts":1706366760.1430728,"logger":"admin","msg":"stopped previous server","address":"localhost:2019"}
Jan 27 19:41:29 pi-hole caddy[900]: {"level":"error","ts":1706380889.3634984,"logger":"http.handlers.reverse_proxy","msg":"aborting with incomplete response","upstream":"127.0.0.1:1080","duration":0.000646219,"request":{"remote_ip":"192.168.102.138","remote_port":"49962","client_ip":"192.168.102.138","proto":"HTTP/3.0","method":"GET","host":"pi-hole.intranet.thuis.dev","uri":"/admin/style/vendor/SourceSansPro/source-sans-pro-v13-latin-regular.woff2","headers":{"Referer":["https://pi-hole.intranet.thuis.dev/admin/style/vendor/SourceSansPro/SourceSansPro.css?v=1705251092"],"Cookie":[],"Alt-Used":["pi-hole.intranet.thuis.dev"],"X-Forwarded-Proto":["https"],"Priority":["u=4"],"Accept-Language":["nl,en-US;q=0.7,en;q=0.3"],"Sec-Fetch-Mode":["cors"],"Accept-Encoding":["identity"],"Sec-Fetch-Dest":["font"],"User-Agent":["Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:122.0) Gecko/20100101 Firefox/122.0"],"Sec-Fetch-Site":["same-origin"],"Accept":["application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8"],"X-Forwarded-For":["192.168.102.138"],"X-Forwarded-Host":["pi-hole.intranet.thuis.dev"]},"tls":{"resumed":false,"version":772,"cipher_suite":4867,"proto":"h3","server_name":"pi-hole.intranet.thuis.dev"}},"error":"reading: context canceled"}
Jan 27 20:45:16 pi-hole caddy[900]: {"level":"error","ts":1706384716.3204098,"logger":"http.handlers.reverse_proxy","msg":"aborting with incomplete response","upstream":"192.168.102.50:1080","duration":0.002867465,"request":{"remote_ip":"192.168.102.138","remote_port":"64721","client_ip":"192.168.102.138","proto":"HTTP/3.0","method":"GET","host":"pi-hole.pi-nas.intranet.thuis.dev","uri":"/admin/scripts/vendor/bootstrap-select.min.js?v=1706189613","headers":{"X-Forwarded-Proto":["https"],"X-Forwarded-For":["192.168.102.138"],"X-Forwarded-Host":["pi-hole.pi-nas.intranet.thuis.dev"],"Referer":["https://pi-hole.pi-nas.intranet.thuis.dev/admin/groups-adlists.php"],"Accept-Encoding":["gzip, deflate, br"],"Sec-Fetch-Mode":["no-cors"],"Accept-Language":["nl,en-US;q=0.7,en;q=0.3"],"User-Agent":["Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:122.0) Gecko/20100101 Firefox/122.0"],"Alt-Used":["pi-hole.pi-nas.intranet.thuis.dev"],"Accept":["*/*"],"Sec-Fetch-Site":["same-origin"],"Sec-Fetch-Dest":["script"],"Cookie":[]},"tls":{"resumed":false,"version":772,"cipher_suite":4867,"proto":"h3","server_name":"pi-hole.pi-nas.intranet.thuis.dev"}},"error":"reading: context canceled"}

Ah, I think this is a known issue with HTTP/3 where it doesn’t recover correctly from incomplete responses.

But either way, this seems to be like an issue with your upstream app not responding properly to Caddy.

I see, and what is an upstream app? Is that the lighttpd webserver that Pi-Hole uses?

The well known http/3 problem is a problem in Caddy or on the http/3 protocol?

This:

The argument to reverse_proxy is an “upstream”. So whatever is at the other end of that isn’t behaving well to receiving requests from Caddy.

A quic-go problem which is the underlying lib we use for HTTP/3 support in Caddy. It’s fixed on the master branch though.

But I doubt that’s relevant to your problem, basically just “if the request was HTTP/3 and the upstream misbehaves, then it doesn’t recover the way it should but the real problem is your upstream misbehaving”.

So Lighttpd is the receiver, I’ll see if I can use a different webserver or better yet Caddy for the Pi-Hole admin pages.

Thank you very much Francis, I’ll update Caddy and see if I can change the webserver serving the pages :smiling_face:.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.