1. The problem I’m having:
In my docker compose, I’ve setup caddy to forward all requests to the /pbs/*
sub-route to my backend container.
But when accessing, /pbs/_
, I’m being send to the /_
of the frontend rather than the /_
of the backend service. everything else, like /pbs/_/blablalba
gets send to the backend properly
2. Error messages and/or full log output:
{"level":"info","ts":1737565227.651427,"msg":"using config from file","file":"/etc/caddy/Caddyfile"}
{"level":"info","ts":1737565227.6543431,"msg":"adapted config to JSON","adapter":"caddyfile"}
{"level":"info","ts":1737565227.6556478,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//127.0.0.1:2019","//localhost:2019","//[::1]:2019"]}
{"level":"info","ts":1737565227.6559882,"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}
{"level":"info","ts":1737565227.6560278,"logger":"http.auto_https","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv0"}
{"level":"info","ts":1737565227.6560812,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0x4000217300"}
{"level":"warn","ts":1737565227.6561215,"logger":"http.auto_https","msg":"server is listening only on the HTTP port, so no automatic HTTPS will be applied to this server","server_name":"srv1","http_port":80}
{"level":"info","ts":1737565227.6567116,"logger":"http","msg":"enabling HTTP/3 listener","addr":":443"}
{"level":"info","ts":1737565227.6569774,"msg":"failed to sufficiently increase receive buffer size (was: 224 kiB, wanted: 7168 kiB, got: 448 kiB). See https://github.com/quic-go/quic-go/wiki/UDP-Buffer-Sizes for details."}
{"level":"info","ts":1737565227.6572773,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]}
{"level":"warn","ts":1737565227.6573014,"logger":"http","msg":"HTTP/2 skipped because it requires TLS","network":"tcp","addr":":80"}
{"level":"warn","ts":1737565227.6573033,"logger":"http","msg":"HTTP/3 skipped because it requires TLS","network":"tcp","addr":":80"}
{"level":"info","ts":1737565227.657304,"logger":"http.log","msg":"server running","name":"srv1","protocols":["h1","h2","h3"]}
{"level":"info","ts":1737565227.6676679,"msg":"autosaved config (load with --resume flag)","file":"/config/caddy/autosave.json"}
{"level":"info","ts":1737565227.6678376,"msg":"serving initial configuration"}
{"level":"info","ts":1737565227.672485,"logger":"tls","msg":"cleaning storage unit","storage":"FileStorage:/data/caddy"}
{"level":"info","ts":1737565227.6820257,"logger":"tls","msg":"finished cleaning storage units"}
{"level":"info","ts":1737565304.4806533,"msg":"shutting down apps, then terminating","signal":"SIGTERM"}
{"level":"warn","ts":1737565304.4822078,"msg":"exiting; byeee!! 👋","signal":"SIGTERM"}
{"level":"info","ts":1737565304.4829314,"logger":"http","msg":"servers shutting down with eternal grace period"}
{"level":"info","ts":1737565304.4863403,"logger":"admin","msg":"stopped previous server","address":"localhost:2019"}
{"level":"info","ts":1737565304.4864597,"msg":"shutdown complete","signal":"SIGTERM","exit_code":0}
{"level":"info","ts":1737565305.9178743,"msg":"using config from file","file":"/etc/caddy/Caddyfile"}
{"level":"info","ts":1737565305.9187794,"msg":"adapted config to JSON","adapter":"caddyfile"}
{"level":"info","ts":1737565305.9195726,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//localhost:2019","//[::1]:2019","//127.0.0.1:2019"]}
{"level":"info","ts":1737565305.9197228,"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}
{"level":"info","ts":1737565305.919741,"logger":"http.auto_https","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv0"}
{"level":"warn","ts":1737565305.919747,"logger":"http.auto_https","msg":"server is listening only on the HTTP port, so no automatic HTTPS will be applied to this server","server_name":"srv1","http_port":80}
{"level":"info","ts":1737565305.91981,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0x40007ecc80"}
{"level":"info","ts":1737565305.920078,"logger":"http","msg":"enabling HTTP/3 listener","addr":":443"}
{"level":"info","ts":1737565305.9201305,"msg":"failed to sufficiently increase receive buffer size (was: 224 kiB, wanted: 7168 kiB, got: 448 kiB). See https://github.com/quic-go/quic-go/wiki/UDP-Buffer-Sizes for details."}
{"level":"info","ts":1737565305.9203696,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]}
{"level":"warn","ts":1737565305.920404,"logger":"http","msg":"HTTP/2 skipped because it requires TLS","network":"tcp","addr":":80"}
{"level":"warn","ts":1737565305.920413,"logger":"http","msg":"HTTP/3 skipped because it requires TLS","network":"tcp","addr":":80"}
{"level":"info","ts":1737565305.9204168,"logger":"http.log","msg":"server running","name":"srv1","protocols":["h1","h2","h3"]}
{"level":"info","ts":1737565305.9229102,"msg":"autosaved config (load with --resume flag)","file":"/config/caddy/autosave.json"}
{"level":"info","ts":1737565305.9229352,"msg":"serving initial configuration"}
{"level":"info","ts":1737565305.9329762,"logger":"tls","msg":"storage cleaning happened too recently; skipping for now","storage":"FileStorage:/data/caddy","instance":"41d992da-7f30-4cf3-a59a-68f2171a1693","try_again":1737651705.9329376,"try_again_in":86399.999999292}
{"level":"info","ts":1737565305.933534,"logger":"tls","msg":"finished cleaning storage units"}
{"level":"info","ts":1737565830.9940968,"msg":"shutting down apps, then terminating","signal":"SIGTERM"}
{"level":"warn","ts":1737565830.9961162,"msg":"exiting; byeee!! 👋","signal":"SIGTERM"}
{"level":"info","ts":1737565830.99623,"logger":"http","msg":"servers shutting down with eternal grace period"}
{"level":"info","ts":1737565830.9990718,"logger":"admin","msg":"stopped previous server","address":"localhost:2019"}
{"level":"info","ts":1737565830.9991255,"msg":"shutdown complete","signal":"SIGTERM","exit_code":0}
{"level":"info","ts":1737565832.5856814,"msg":"using config from file","file":"/etc/caddy/Caddyfile"}
{"level":"info","ts":1737565832.5864491,"msg":"adapted config to JSON","adapter":"caddyfile"}
{"level":"info","ts":1737565832.5882044,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//localhost:2019","//[::1]:2019","//127.0.0.1:2019"]}
{"level":"info","ts":1737565832.5883749,"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}
{"level":"info","ts":1737565832.5883868,"logger":"http.auto_https","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv0"}
{"level":"warn","ts":1737565832.5883904,"logger":"http.auto_https","msg":"server is listening only on the HTTP port, so no automatic HTTPS will be applied to this server","server_name":"srv1","http_port":80}
{"level":"info","ts":1737565832.5891905,"logger":"http","msg":"enabling HTTP/3 listener","addr":":443"}
{"level":"info","ts":1737565832.5892441,"msg":"failed to sufficiently increase receive buffer size (was: 224 kiB, wanted: 7168 kiB, got: 448 kiB). See https://github.com/quic-go/quic-go/wiki/UDP-Buffer-Sizes for details."}
{"level":"info","ts":1737565832.589372,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0x40001a6d00"}
{"level":"info","ts":1737565832.5894427,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]}
{"level":"warn","ts":1737565832.5894678,"logger":"http","msg":"HTTP/2 skipped because it requires TLS","network":"tcp","addr":":80"}
{"level":"warn","ts":1737565832.5894713,"logger":"http","msg":"HTTP/3 skipped because it requires TLS","network":"tcp","addr":":80"}
{"level":"info","ts":1737565832.5894723,"logger":"http.log","msg":"server running","name":"srv1","protocols":["h1","h2","h3"]}
{"level":"info","ts":1737565832.5916626,"msg":"autosaved config (load with --resume flag)","file":"/config/caddy/autosave.json"}
{"level":"info","ts":1737565832.5917175,"msg":"serving initial configuration"}
{"level":"info","ts":1737565832.5958521,"logger":"tls","msg":"storage cleaning happened too recently; skipping for now","storage":"FileStorage:/data/caddy","instance":"41d992da-7f30-4cf3-a59a-68f2171a1693","try_again":1737652232.5958471,"try_again_in":86399.999999541}
{"level":"info","ts":1737565832.5961378,"logger":"tls","msg":"finished cleaning storage units"}
{"level":"warn","ts":1737565838.4482925,"logger":"http.handlers.reverse_proxy","msg":"aborting with incomplete response","upstream":"frontend:3000","duration":0.151935437,"request":{"remote_ip":"192.168.117.1","remote_port":"49670","client_ip":"192.168.117.1","proto":"HTTP/1.1","method":"GET","host":"mimhar-caddy-1.orb.local","uri":"/apple-touch-icon-precomposed.png","headers":{"X-Forwarded-For":["192.168.117.1"],"Accept-Encoding":["gzip, deflate"],"User-Agent":["com.apple.WebKit.Networking/20620.1.16.11.8 CFNetwork/1568.300.101 Darwin/24.2.0"],"X-Forwarded-Proto":["http"],"X-Forwarded-Host":["mimhar-caddy-1.orb.local"],"Accept":["*/*"],"Accept-Language":["en-IN,en-GB;q=0.9,en;q=0.8"]}},"error":"reading: context canceled"}
{"level":"warn","ts":1737565838.4490445,"logger":"http.handlers.reverse_proxy","msg":"aborting with incomplete response","upstream":"frontend:3000","duration":0.152378426,"request":{"remote_ip":"192.168.117.1","remote_port":"49671","client_ip":"192.168.117.1","proto":"HTTP/1.1","method":"GET","host":"mimhar-caddy-1.orb.local","uri":"/apple-touch-icon.png","headers":{"Accept-Encoding":["gzip, deflate"],"User-Agent":["com.apple.WebKit.Networking/20620.1.16.11.8 CFNetwork/1568.300.101 Darwin/24.2.0"],"X-Forwarded-Proto":["http"],"X-Forwarded-Host":["mimhar-caddy-1.orb.local"],"Accept":["*/*"],"Accept-Language":["en-IN,en-GB;q=0.9,en;q=0.8"],"X-Forwarded-For":["192.168.117.1"]}},"error":"reading: context canceled"}
{"level":"info","ts":1737589901.0456488,"msg":"shutting down apps, then terminating","signal":"SIGTERM"}
{"level":"warn","ts":1737589901.0638125,"msg":"exiting; byeee!! 👋","signal":"SIGTERM"}
{"level":"info","ts":1737589901.07941,"logger":"http","msg":"servers shutting down with eternal grace period"}
{"level":"info","ts":1737589901.0947883,"logger":"admin","msg":"stopped previous server","address":"localhost:2019"}
{"level":"info","ts":1737589901.0948339,"msg":"shutdown complete","signal":"SIGTERM","exit_code":0}
{"level":"info","ts":1737589903.3713658,"msg":"using config from file","file":"/etc/caddy/Caddyfile"}
{"level":"info","ts":1737589903.3722446,"msg":"adapted config to JSON","adapter":"caddyfile"}
{"level":"warn","ts":1737589903.372252,"msg":"Caddyfile input is not formatted; run 'caddy fmt --overwrite' to fix inconsistencies","adapter":"caddyfile","file":"/etc/caddy/Caddyfile","line":15}
{"level":"info","ts":1737589903.3730273,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//localhost:2019","//[::1]:2019","//127.0.0.1:2019"]}
{"level":"info","ts":1737589903.3732364,"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}
{"level":"info","ts":1737589903.373244,"logger":"http.auto_https","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv0"}
{"level":"warn","ts":1737589903.3732471,"logger":"http.auto_https","msg":"server is listening only on the HTTP port, so no automatic HTTPS will be applied to this server","server_name":"srv1","http_port":80}
{"level":"info","ts":1737589903.373681,"logger":"http","msg":"enabling HTTP/3 listener","addr":":443"}
{"level":"info","ts":1737589903.3737106,"msg":"failed to sufficiently increase receive buffer size (was: 224 kiB, wanted: 7168 kiB, got: 448 kiB). See https://github.com/quic-go/quic-go/wiki/UDP-Buffer-Sizes for details."}
{"level":"info","ts":1737589903.373865,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0x4000372780"}
{"level":"info","ts":1737589903.373904,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]}
{"level":"warn","ts":1737589903.3739226,"logger":"http","msg":"HTTP/2 skipped because it requires TLS","network":"tcp","addr":":80"}
{"level":"warn","ts":1737589903.3739238,"logger":"http","msg":"HTTP/3 skipped because it requires TLS","network":"tcp","addr":":80"}
{"level":"info","ts":1737589903.3739245,"logger":"http.log","msg":"server running","name":"srv1","protocols":["h1","h2","h3"]}
{"level":"info","ts":1737589903.3777926,"msg":"autosaved config (load with --resume flag)","file":"/config/caddy/autosave.json"}
{"level":"info","ts":1737589903.3778658,"msg":"serving initial configuration"}
{"level":"info","ts":1737589903.3811166,"logger":"tls","msg":"storage cleaning happened too recently; skipping for now","storage":"FileStorage:/data/caddy","instance":"41d992da-7f30-4cf3-a59a-68f2171a1693","try_again":1737676303.3811154,"try_again_in":86399.999999667}
{"level":"info","ts":1737589903.3811686,"logger":"tls","msg":"finished cleaning storage units"}
{"level":"warn","ts":1737589915.589552,"logger":"http.handlers.reverse_proxy","msg":"aborting with incomplete response","upstream":"frontend:3000","duration":0.145265659,"request":{"remote_ip":"192.168.117.1","remote_port":"65257","client_ip":"192.168.117.1","proto":"HTTP/1.1","method":"GET","host":"mimhar-caddy-1.orb.local","uri":"/apple-touch-icon.png","headers":{"X-Forwarded-Proto":["http"],"X-Forwarded-Host":["mimhar-caddy-1.orb.local"],"Accept":["*/*"],"Accept-Language":["en-IN,en-GB;q=0.9,en;q=0.8"],"X-Forwarded-For":["192.168.117.1"],"Accept-Encoding":["gzip, deflate"],"User-Agent":["com.apple.WebKit.Networking/20620.1.16.11.8 CFNetwork/1568.300.101 Darwin/24.2.0"]}},"error":"reading: context canceled"}
{"level":"warn","ts":1737589915.5990705,"logger":"http.handlers.reverse_proxy","msg":"aborting with incomplete response","upstream":"frontend:3000","duration":0.166239022,"request":{"remote_ip":"192.168.117.1","remote_port":"65256","client_ip":"192.168.117.1","proto":"HTTP/1.1","method":"GET","host":"mimhar-caddy-1.orb.local","uri":"/apple-touch-icon-precomposed.png","headers":{"X-Forwarded-For":["192.168.117.1"],"Accept-Encoding":["gzip, deflate"],"User-Agent":["com.apple.WebKit.Networking/20620.1.16.11.8 CFNetwork/1568.300.101 Darwin/24.2.0"],"X-Forwarded-Proto":["http"],"X-Forwarded-Host":["mimhar-caddy-1.orb.local"],"Accept":["*/*"],"Accept-Language":["en-IN,en-GB;q=0.9,en;q=0.8"]}},"error":"reading: context canceled"}
{"level":"warn","ts":1737590039.1576116,"logger":"http.handlers.reverse_proxy","msg":"aborting with incomplete response","upstream":"frontend:3000","duration":0.058544278,"request":{"remote_ip":"192.168.117.1","remote_port":"51875","client_ip":"192.168.117.1","proto":"HTTP/1.1","method":"GET","host":"mimhar-caddy-1.orb.local","uri":"/apple-touch-icon-precomposed.png","headers":{"X-Forwarded-Proto":["http"],"X-Forwarded-Host":["mimhar-caddy-1.orb.local"],"Accept":["*/*"],"Accept-Language":["en-IN,en-GB;q=0.9,en;q=0.8"],"X-Forwarded-For":["192.168.117.1"],"Accept-Encoding":["gzip, deflate"],"User-Agent":["com.apple.WebKit.Networking/20620.1.16.11.8 CFNetwork/1568.300.101 Darwin/24.2.0"]}},"error":"reading: context canceled"}
{"level":"warn","ts":1737590039.1662738,"logger":"http.handlers.reverse_proxy","msg":"aborting with incomplete response","upstream":"frontend:3000","duration":0.059905412,"request":{"remote_ip":"192.168.117.1","remote_port":"51876","client_ip":"192.168.117.1","proto":"HTTP/1.1","method":"GET","host":"mimhar-caddy-1.orb.local","uri":"/apple-touch-icon.png","headers":{"Accept":["*/*"],"Accept-Language":["en-IN,en-GB;q=0.9,en;q=0.8"],"X-Forwarded-For":["192.168.117.1"],"Accept-Encoding":["gzip, deflate"],"User-Agent":["com.apple.WebKit.Networking/20620.1.16.11.8 CFNetwork/1568.300.101 Darwin/24.2.0"],"X-Forwarded-Proto":["http"],"X-Forwarded-Host":["mimhar-caddy-1.orb.local"]}},"error":"reading: context canceled"}
{"level":"info","ts":1737590117.2590601,"msg":"shutting down apps, then terminating","signal":"SIGTERM"}
{"level":"warn","ts":1737590117.2597046,"msg":"exiting; byeee!! 👋","signal":"SIGTERM"}
{"level":"info","ts":1737590117.262946,"logger":"http","msg":"servers shutting down with eternal grace period"}
{"level":"info","ts":1737590117.2804892,"logger":"admin","msg":"stopped previous server","address":"localhost:2019"}
{"level":"info","ts":1737590117.2807245,"msg":"shutdown complete","signal":"SIGTERM","exit_code":0}
{"level":"info","ts":1737590118.917249,"msg":"using config from file","file":"/etc/caddy/Caddyfile"}
{"level":"info","ts":1737590118.9181645,"msg":"adapted config to JSON","adapter":"caddyfile"}
{"level":"info","ts":1737590118.9192853,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//localhost:2019","//[::1]:2019","//127.0.0.1:2019"]}
{"level":"info","ts":1737590118.919476,"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}
{"level":"info","ts":1737590118.91949,"logger":"http.auto_https","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv0"}
{"level":"warn","ts":1737590118.9194927,"logger":"http.auto_https","msg":"server is listening only on the HTTP port, so no automatic HTTPS will be applied to this server","server_name":"srv1","http_port":80}
{"level":"info","ts":1737590118.9197783,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0x400049bb80"}
{"level":"info","ts":1737590118.9202833,"logger":"http","msg":"enabling HTTP/3 listener","addr":":443"}
{"level":"info","ts":1737590118.9204552,"msg":"failed to sufficiently increase receive buffer size (was: 224 kiB, wanted: 7168 kiB, got: 448 kiB). See https://github.com/quic-go/quic-go/wiki/UDP-Buffer-Sizes for details."}
{"level":"info","ts":1737590118.920676,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]}
{"level":"warn","ts":1737590118.9209394,"logger":"http","msg":"HTTP/2 skipped because it requires TLS","network":"tcp","addr":":80"}
{"level":"warn","ts":1737590118.920972,"logger":"http","msg":"HTTP/3 skipped because it requires TLS","network":"tcp","addr":":80"}
{"level":"info","ts":1737590118.9209864,"logger":"http.log","msg":"server running","name":"srv1","protocols":["h1","h2","h3"]}
{"level":"info","ts":1737590118.9232726,"msg":"autosaved config (load with --resume flag)","file":"/config/caddy/autosave.json"}
{"level":"info","ts":1737590118.9233403,"msg":"serving initial configuration"}
{"level":"info","ts":1737590118.929638,"logger":"tls","msg":"storage cleaning happened too recently; skipping for now","storage":"FileStorage:/data/caddy","instance":"41d992da-7f30-4cf3-a59a-68f2171a1693","try_again":1737676518.9296346,"try_again_in":86399.999999333}
{"level":"info","ts":1737590118.9297936,"logger":"tls","msg":"finished cleaning storage units"}
{"level":"info","ts":1737590262.0963778,"msg":"shutting down apps, then terminating","signal":"SIGTERM"}
{"level":"warn","ts":1737590262.1332612,"msg":"exiting; byeee!! 👋","signal":"SIGTERM"}
{"level":"info","ts":1737590262.1337242,"logger":"http","msg":"servers shutting down with eternal grace period"}
{"level":"info","ts":1737590262.1569118,"logger":"admin","msg":"stopped previous server","address":"localhost:2019"}
{"level":"info","ts":1737590262.157133,"msg":"shutdown complete","signal":"SIGTERM","exit_code":0}
{"level":"info","ts":1737590638.7863631,"msg":"using config from file","file":"/etc/caddy/Caddyfile"}
{"level":"info","ts":1737590638.7873156,"msg":"adapted config to JSON","adapter":"caddyfile"}
{"level":"info","ts":1737590638.788046,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//localhost:2019","//[::1]:2019","//127.0.0.1:2019"]}
{"level":"info","ts":1737590638.788194,"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}
{"level":"info","ts":1737590638.7882087,"logger":"http.auto_https","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv0"}
{"level":"warn","ts":1737590638.788217,"logger":"http.auto_https","msg":"server is listening only on the HTTP port, so no automatic HTTPS will be applied to this server","server_name":"srv1","http_port":80}
{"level":"info","ts":1737590638.7883456,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0x40004d7800"}
{"level":"warn","ts":1737590638.7903264,"logger":"http","msg":"HTTP/2 skipped because it requires TLS","network":"tcp","addr":":80"}
{"level":"warn","ts":1737590638.790421,"logger":"http","msg":"HTTP/3 skipped because it requires TLS","network":"tcp","addr":":80"}
{"level":"info","ts":1737590638.7904832,"logger":"http.log","msg":"server running","name":"srv1","protocols":["h1","h2","h3"]}
{"level":"info","ts":1737590638.7905748,"logger":"http","msg":"enabling HTTP/3 listener","addr":":443"}
{"level":"info","ts":1737590638.7908332,"msg":"failed to sufficiently increase receive buffer size (was: 224 kiB, wanted: 7168 kiB, got: 448 kiB). See https://github.com/quic-go/quic-go/wiki/UDP-Buffer-Sizes for details."}
{"level":"info","ts":1737590638.7912138,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]}
{"level":"info","ts":1737590638.795229,"msg":"autosaved config (load with --resume flag)","file":"/config/caddy/autosave.json"}
{"level":"info","ts":1737590638.7953174,"msg":"serving initial configuration"}
{"level":"info","ts":1737590638.8022935,"logger":"tls","msg":"storage cleaning happened too recently; skipping for now","storage":"FileStorage:/data/caddy","instance":"41d992da-7f30-4cf3-a59a-68f2171a1693","try_again":1737677038.8022876,"try_again_in":86399.9999995}
{"level":"info","ts":1737590638.8029094,"logger":"tls","msg":"finished cleaning storage units"}
{"level":"warn","ts":1737590653.1602306,"logger":"http.handlers.reverse_proxy","msg":"aborting with incomplete response","upstream":"frontend:3000","duration":0.103414029,"request":{"remote_ip":"192.168.155.1","remote_port":"50309","client_ip":"192.168.155.1","proto":"HTTP/1.1","method":"GET","host":"mimhar-caddy-1.orb.local","uri":"/apple-touch-icon.png","headers":{"Accept-Language":["en-IN,en-GB;q=0.9,en;q=0.8"],"X-Forwarded-For":["192.168.155.1"],"X-Forwarded-Proto":["http"],"X-Forwarded-Host":["mimhar-caddy-1.orb.local"],"Accept-Encoding":["gzip, deflate"],"User-Agent":["com.apple.WebKit.Networking/20620.1.16.11.8 CFNetwork/1568.300.101 Darwin/24.2.0"],"Accept":["*/*"]}},"error":"reading: context canceled"}
{"level":"warn","ts":1737590653.1857138,"logger":"http.handlers.reverse_proxy","msg":"aborting with incomplete response","upstream":"frontend:3000","duration":0.127222062,"request":{"remote_ip":"192.168.155.1","remote_port":"50308","client_ip":"192.168.155.1","proto":"HTTP/1.1","method":"GET","host":"mimhar-caddy-1.orb.local","uri":"/apple-touch-icon-precomposed.png","headers":{"X-Forwarded-For":["192.168.155.1"],"Accept-Encoding":["gzip, deflate"],"User-Agent":["com.apple.WebKit.Networking/20620.1.16.11.8 CFNetwork/1568.300.101 Darwin/24.2.0"],"X-Forwarded-Proto":["http"],"X-Forwarded-Host":["mimhar-caddy-1.orb.local"],"Accept":["*/*"],"Accept-Language":["en-IN,en-GB;q=0.9,en;q=0.8"]}},"error":"reading: context canceled"}
{"level":"info","ts":1737591308.474726,"msg":"shutting down apps, then terminating","signal":"SIGTERM"}
{"level":"warn","ts":1737591308.475349,"msg":"exiting; byeee!! 👋","signal":"SIGTERM"}
{"level":"info","ts":1737591308.4839053,"logger":"http","msg":"servers shutting down with eternal grace period"}
{"level":"info","ts":1737591308.507794,"logger":"admin","msg":"stopped previous server","address":"localhost:2019"}
{"level":"info","ts":1737591308.5079753,"msg":"shutdown complete","signal":"SIGTERM","exit_code":0}
{"level":"info","ts":1737591321.5538673,"msg":"using config from file","file":"/etc/caddy/Caddyfile"}
{"level":"info","ts":1737591321.5588193,"msg":"adapted config to JSON","adapter":"caddyfile"}
{"level":"info","ts":1737591321.560207,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//localhost:2019","//[::1]:2019","//127.0.0.1:2019"]}
{"level":"info","ts":1737591321.5604029,"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}
{"level":"info","ts":1737591321.5604298,"logger":"http.auto_https","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv0"}
{"level":"warn","ts":1737591321.5604436,"logger":"http.auto_https","msg":"server is listening only on the HTTP port, so no automatic HTTPS will be applied to this server","server_name":"srv1","http_port":80}
{"level":"info","ts":1737591321.560741,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0x4000696480"}
{"level":"info","ts":1737591321.5615456,"logger":"http","msg":"enabling HTTP/3 listener","addr":":443"}
{"level":"info","ts":1737591321.561663,"msg":"failed to sufficiently increase receive buffer size (was: 224 kiB, wanted: 7168 kiB, got: 448 kiB). See https://github.com/quic-go/quic-go/wiki/UDP-Buffer-Sizes for details."}
{"level":"info","ts":1737591321.5619154,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]}
{"level":"warn","ts":1737591321.5620096,"logger":"http","msg":"HTTP/2 skipped because it requires TLS","network":"tcp","addr":":80"}
{"level":"warn","ts":1737591321.5620196,"logger":"http","msg":"HTTP/3 skipped because it requires TLS","network":"tcp","addr":":80"}
{"level":"info","ts":1737591321.5620282,"logger":"http.log","msg":"server running","name":"srv1","protocols":["h1","h2","h3"]}
{"level":"info","ts":1737591321.5651417,"msg":"autosaved config (load with --resume flag)","file":"/config/caddy/autosave.json"}
{"level":"info","ts":1737591321.5652432,"msg":"serving initial configuration"}
{"level":"info","ts":1737591321.5702217,"logger":"tls","msg":"storage cleaning happened too recently; skipping for now","storage":"FileStorage:/data/caddy","instance":"41d992da-7f30-4cf3-a59a-68f2171a1693","try_again":1737677721.5702198,"try_again_in":86399.999999541}
{"level":"info","ts":1737591321.5703852,"logger":"tls","msg":"finished cleaning storage units"}
{"level":"warn","ts":1737591612.1457968,"logger":"http.handlers.reverse_proxy","msg":"aborting with incomplete response","upstream":"frontend:3000","duration":0.59732257,"request":{"remote_ip":"192.168.117.1","remote_port":"56914","client_ip":"192.168.117.1","proto":"HTTP/1.1","method":"GET","host":"mimhar-caddy-1.orb.local","uri":"/apple-touch-icon-precomposed.png","headers":{"Accept-Encoding":["gzip, deflate"],"User-Agent":["com.apple.WebKit.Networking/20620.1.16.11.8 CFNetwork/1568.300.101 Darwin/24.2.0"],"X-Forwarded-Proto":["http"],"X-Forwarded-Host":["mimhar-caddy-1.orb.local"],"Accept":["*/*"],"Accept-Language":["en-IN,en-GB;q=0.9,en;q=0.8"],"X-Forwarded-For":["192.168.117.1"]}},"error":"reading: context canceled"}
{"level":"warn","ts":1737591612.163303,"logger":"http.handlers.reverse_proxy","msg":"aborting with incomplete response","upstream":"frontend:3000","duration":0.599274645,"request":{"remote_ip":"192.168.117.1","remote_port":"56915","client_ip":"192.168.117.1","proto":"HTTP/1.1","method":"GET","host":"mimhar-caddy-1.orb.local","uri":"/apple-touch-icon.png","headers":{"X-Forwarded-For":["192.168.117.1"],"X-Forwarded-Proto":["http"],"X-Forwarded-Host":["mimhar-caddy-1.orb.local"],"Accept-Encoding":["gzip, deflate"],"User-Agent":["com.apple.WebKit.Networking/20620.1.16.11.8 CFNetwork/1568.300.101 Darwin/24.2.0"],"Accept":["*/*"],"Accept-Language":["en-IN,en-GB;q=0.9,en;q=0.8"]}},"error":"reading: context canceled"}
{"level":"info","ts":1737591673.928603,"msg":"shutting down apps, then terminating","signal":"SIGTERM"}
{"level":"warn","ts":1737591673.9293375,"msg":"exiting; byeee!! 👋","signal":"SIGTERM"}
{"level":"info","ts":1737591673.929437,"logger":"http","msg":"servers shutting down with eternal grace period"}
{"level":"info","ts":1737591673.9547014,"logger":"admin","msg":"stopped previous server","address":"localhost:2019"}
{"level":"info","ts":1737591673.9555702,"msg":"shutdown complete","signal":"SIGTERM","exit_code":0}
{"level":"info","ts":1737591676.1592677,"msg":"using config from file","file":"/etc/caddy/Caddyfile"}
{"level":"info","ts":1737591676.1620588,"msg":"adapted config to JSON","adapter":"caddyfile"}
{"level":"info","ts":1737591676.1666567,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//localhost:2019","//[::1]:2019","//127.0.0.1:2019"]}
{"level":"info","ts":1737591676.1681585,"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}
{"level":"info","ts":1737591676.1682222,"logger":"http.auto_https","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv0"}
{"level":"warn","ts":1737591676.1682363,"logger":"http.auto_https","msg":"server is listening only on the HTTP port, so no automatic HTTPS will be applied to this server","server_name":"srv1","http_port":80}
{"level":"info","ts":1737591676.1698472,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0x4000434780"}
{"level":"info","ts":1737591676.1706839,"logger":"http","msg":"enabling HTTP/3 listener","addr":":443"}
{"level":"info","ts":1737591676.1716752,"msg":"failed to sufficiently increase receive buffer size (was: 224 kiB, wanted: 7168 kiB, got: 448 kiB). See https://github.com/quic-go/quic-go/wiki/UDP-Buffer-Sizes for details."}
{"level":"info","ts":1737591676.1780243,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]}
{"level":"warn","ts":1737591676.1781552,"logger":"http","msg":"HTTP/2 skipped because it requires TLS","network":"tcp","addr":":80"}
{"level":"warn","ts":1737591676.1783023,"logger":"http","msg":"HTTP/3 skipped because it requires TLS","network":"tcp","addr":":80"}
{"level":"info","ts":1737591676.1783216,"logger":"http.log","msg":"server running","name":"srv1","protocols":["h1","h2","h3"]}
{"level":"info","ts":1737591676.1817317,"msg":"autosaved config (load with --resume flag)","file":"/config/caddy/autosave.json"}
{"level":"info","ts":1737591676.181776,"msg":"serving initial configuration"}
{"level":"info","ts":1737591676.1861227,"logger":"tls","msg":"storage cleaning happened too recently; skipping for now","storage":"FileStorage:/data/caddy","instance":"41d992da-7f30-4cf3-a59a-68f2171a1693","try_again":1737678076.1861186,"try_again_in":86399.999999083}
{"level":"info","ts":1737591676.1865602,"logger":"tls","msg":"finished cleaning storage units"}
3. Caddy version:
v2.9.1 h1:OEYiZ7DbCzAWVb6TNEkjRcSCRGHVoZsJinoDR/n9oaY=
4. How I installed and ran Caddy:
Using docker compose. the relevant compose is shown on the below section
a. System environment:
Docker
b. Command:
Just used the caddy-2-alpine docker image
c. Service/unit/compose file:
version: "3.8"
services:
caddy:
image: caddy:2-alpine
restart: unless-stopped
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
networks:
- app-network
- dokploy-network
backend:
build: .
restart: unless-stopped
ports:
- "8090"
volumes:
- pb_data:/pb_data
networks:
- app-network
frontend:
build:
context: .
dockerfile: Dockerfile.frontend
restart: unless-stopped
ports:
- "3000"
depends_on:
- backend
networks:
- app-network
volumes:
pb_data:
networks:
app-network:
driver: bridge
dokploy-network:
external: true
d. My complete Caddy config:
{
}
:80, :443 {
handle {
reverse_proxy frontend:3000
handle_path /pbs/* {
reverse_proxy frontend:8090
}
}
}