1. The problem I’m having:
Using Caddy to reverse proxy traffic to the Unraid UI. When proxied the UI is extremely slow and a Browser Console shows its hanging on all wss:// calls. ie. when visiting the Docker page where it has to load the container info or when browsing to the ‘Main’ page where it has to load the arrays and various drive info.
2. Error messages and/or full log output:
Debug log moving from one Unraid tab to another that uses wss:// calls to view Docker containers. Any navigation that involves a wss:// call results in the browser hanging for 15-30s.
{"level":"debug","ts":1748346617.3039513,"logger":"http.handlers.reverse_proxy","msg":"streaming error","upstream":"192.168.10.10:80","duration":6.568758846,"request":{"remote_ip":"192.168.20.222","remote_port":"59834","client_ip":"192.168.20.222","proto":"HTTP/1.1","method":"GET","host":"unraid.sapling.xxxx.dev","uri":"/sub/devices","headers":{"Sec-Gpc":["1"],"Cache-Control":["no-cache"],"X-Forwarded-For":["192.168.20.222"],"X-Forwarded-Proto":["https"],"Sec-WebSocket-Key":["cZWc2buq7hyqz/bWUCkEiw=="],"Pragma":["no-cache"],"Connection":["Upgrade"],"Via":["1.1 Caddy"],"Upgrade":["websocket"],"Sec-Fetch-Mode":["websocket"],"Accept":["*/*"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"],"Accept-Encoding":["gzip, deflate, br, zstd"],"Sec-WebSocket-Protocol":["ws+meta.nchan"],"X-Forwarded-Host":["unraid.sapling.xxxx.dev"],"Accept-Language":["en-US,en;q=0.5"],"Dnt":["1"],"Cookie":["REDACTED"],"Origin":["https://unraid.sapling.xxxx.dev"],"Sec-WebSocket-Version":["13"],"Sec-Fetch-Dest":["empty"],"Sec-WebSocket-Extensions":["permessage-deflate"],"Sec-Fetch-Site":["same-origin"]},"tls":{"resumed":true,"version":772,"cipher_suite":4865,"proto":"http/1.1","server_name":"unraid.sapling.xxxx.dev"}}}
{"level":"debug","ts":1748346617.303988,"logger":"http.handlers.reverse_proxy","msg":"streaming error","upstream":"192.168.10.10:80","duration":6.607821873,"request":{"remote_ip":"192.168.20.222","remote_port":"59833","client_ip":"192.168.20.222","proto":"HTTP/1.1","method":"GET","host":"unraid.sapling.xxxx.dev","uri":"/sub/mymonitor","headers":{"X-Forwarded-For":["192.168.20.222"],"Sec-Fetch-Mode":["websocket"],"Accept":["*/*"],"Connection":["Upgrade"],"Pragma":["no-cache"],"Origin":["https://unraid.sapling.xxxx.dev"],"Dnt":["1"],"Cache-Control":["no-cache"],"Sec-WebSocket-Protocol":["ws+meta.nchan"],"X-Forwarded-Host":["unraid.sapling.xxxx.dev"],"Sec-Gpc":["1"],"Sec-Fetch-Dest":["empty"],"Sec-Fetch-Site":["same-origin"],"Sec-WebSocket-Version":["13"],"Sec-WebSocket-Extensions":["permessage-deflate"],"Sec-WebSocket-Key":["nzwSq5jmR56fnOih593PAg=="],"Accept-Language":["en-US,en;q=0.5"],"X-Forwarded-Proto":["https"],"Via":["1.1 Caddy"],"Cookie":["REDACTED"],"Upgrade":["websocket"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"],"Accept-Encoding":["gzip, deflate, br, zstd"]},"tls":{"resumed":true,"version":772,"cipher_suite":4865,"proto":"http/1.1","server_name":"unraid.sapling.xxxx.dev"}}}
{"level":"debug","ts":1748346617.3040133,"logger":"http.handlers.reverse_proxy","msg":"streaming error","upstream":"192.168.10.10:80","duration":6.567926209,"request":{"remote_ip":"192.168.20.222","remote_port":"59836","client_ip":"192.168.20.222","proto":"HTTP/1.1","method":"GET","host":"unraid.sapling.xxxx.dev","uri":"/sub/session,var,notify","headers":{"X-Forwarded-For":["192.168.20.222"],"Via":["1.1 Caddy"],"Dnt":["1"],"Upgrade":["websocket"],"Sec-Gpc":["1"],"Sec-Fetch-Site":["same-origin"],"Accept":["*/*"],"X-Forwarded-Proto":["https"],"X-Forwarded-Host":["unraid.sapling.xxxx.dev"],"Origin":["https://unraid.sapling.xxxx.dev"],"Connection":["Upgrade"],"Sec-Fetch-Dest":["empty"],"Sec-WebSocket-Key":["oJQFGh/lnlzZLAi0lEBrsw=="],"Sec-WebSocket-Version":["13"],"Pragma":["no-cache"],"Accept-Language":["en-US,en;q=0.5"],"Cache-Control":["no-cache"],"Accept-Encoding":["gzip, deflate, br, zstd"],"Cookie":["REDACTED"],"Sec-Fetch-Mode":["websocket"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"],"Sec-WebSocket-Extensions":["permessage-deflate"],"Sec-WebSocket-Protocol":["ws+meta.nchan"]},"tls":{"resumed":true,"version":772,"cipher_suite":4865,"proto":"http/1.1","server_name":"unraid.sapling.xxxx.dev"}}}
{"level":"debug","ts":1748346617.303995,"logger":"http.handlers.reverse_proxy","msg":"streaming error","upstream":"192.168.10.10:80","duration":6.55945758,"request":{"remote_ip":"192.168.20.222","remote_port":"59838","client_ip":"192.168.20.222","proto":"HTTP/1.1","method":"GET","host":"unraid.sapling.xxxx.dev","uri":"/sub/paritymonitor","headers":{"X-Forwarded-For":["192.168.20.222"],"Sec-WebSocket-Key":["IQ7x1ac5jA79ZoiwQ6xvPg=="],"Via":["1.1 Caddy"],"Accept-Encoding":["gzip, deflate, br, zstd"],"Dnt":["1"],"Connection":["Upgrade"],"Accept-Language":["en-US,en;q=0.5"],"Pragma":["no-cache"],"Sec-WebSocket-Extensions":["permessage-deflate"],"X-Forwarded-Proto":["https"],"X-Forwarded-Host":["unraid.sapling.xxxx.dev"],"Cookie":["REDACTED"],"Cache-Control":["no-cache"],"Sec-Gpc":["1"],"Sec-WebSocket-Protocol":["ws+meta.nchan"],"Accept":["*/*"],"Sec-Fetch-Mode":["websocket"],"Origin":["https://unraid.sapling.xxxx.dev"],"Sec-Fetch-Dest":["empty"],"Sec-Fetch-Site":["same-origin"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"],"Upgrade":["websocket"],"Sec-WebSocket-Version":["13"]},"tls":{"resumed":true,"version":772,"cipher_suite":4865,"proto":"http/1.1","server_name":"unraid.sapling.xxxx.dev"}}}
{"level":"debug","ts":1748346617.3040318,"logger":"http.handlers.reverse_proxy","msg":"connection closed","upstream":"192.168.10.10:80","duration":6.568758846,"request":{"remote_ip":"192.168.20.222","remote_port":"59834","client_ip":"192.168.20.222","proto":"HTTP/1.1","method":"GET","host":"unraid.sapling.xxxx.dev","uri":"/sub/devices","headers":{"Sec-Gpc":["1"],"Cache-Control":["no-cache"],"X-Forwarded-For":["192.168.20.222"],"X-Forwarded-Proto":["https"],"Sec-WebSocket-Key":["cZWc2buq7hyqz/bWUCkEiw=="],"Pragma":["no-cache"],"Connection":["Upgrade"],"Via":["1.1 Caddy"],"Upgrade":["websocket"],"Sec-Fetch-Mode":["websocket"],"Accept":["*/*"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"],"Accept-Encoding":["gzip, deflate, br, zstd"],"Sec-WebSocket-Protocol":["ws+meta.nchan"],"X-Forwarded-Host":["unraid.sapling.xxxx.dev"],"Accept-Language":["en-US,en;q=0.5"],"Dnt":["1"],"Cookie":["REDACTED"],"Origin":["https://unraid.sapling.xxxx.dev"],"Sec-WebSocket-Version":["13"],"Sec-Fetch-Dest":["empty"],"Sec-WebSocket-Extensions":["permessage-deflate"],"Sec-Fetch-Site":["same-origin"]},"tls":{"resumed":true,"version":772,"cipher_suite":4865,"proto":"http/1.1","server_name":"unraid.sapling.xxxx.dev"}},"duration":247.107520094}
{"level":"debug","ts":1748346617.3040533,"logger":"http.handlers.reverse_proxy","msg":"connection closed","upstream":"192.168.10.10:80","duration":6.567926209,"request":{"remote_ip":"192.168.20.222","remote_port":"59836","client_ip":"192.168.20.222","proto":"HTTP/1.1","method":"GET","host":"unraid.sapling.xxxx.dev","uri":"/sub/session,var,notify","headers":{"X-Forwarded-For":["192.168.20.222"],"Via":["1.1 Caddy"],"Dnt":["1"],"Upgrade":["websocket"],"Sec-Gpc":["1"],"Sec-Fetch-Site":["same-origin"],"Accept":["*/*"],"X-Forwarded-Proto":["https"],"X-Forwarded-Host":["unraid.sapling.xxxx.dev"],"Origin":["https://unraid.sapling.xxxx.dev"],"Connection":["Upgrade"],"Sec-Fetch-Dest":["empty"],"Sec-WebSocket-Key":["oJQFGh/lnlzZLAi0lEBrsw=="],"Sec-WebSocket-Version":["13"],"Pragma":["no-cache"],"Accept-Language":["en-US,en;q=0.5"],"Cache-Control":["no-cache"],"Accept-Encoding":["gzip, deflate, br, zstd"],"Cookie":["REDACTED"],"Sec-Fetch-Mode":["websocket"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"],"Sec-WebSocket-Extensions":["permessage-deflate"],"Sec-WebSocket-Protocol":["ws+meta.nchan"]},"tls":{"resumed":true,"version":772,"cipher_suite":4865,"proto":"http/1.1","server_name":"unraid.sapling.xxxx.dev"}},"duration":240.51562495}
{"level":"debug","ts":1748346617.3040571,"logger":"http.handlers.reverse_proxy","msg":"connection closed","upstream":"192.168.10.10:80","duration":6.607821873,"request":{"remote_ip":"192.168.20.222","remote_port":"59833","client_ip":"192.168.20.222","proto":"HTTP/1.1","method":"GET","host":"unraid.sapling.xxxx.dev","uri":"/sub/mymonitor","headers":{"X-Forwarded-For":["192.168.20.222"],"Sec-Fetch-Mode":["websocket"],"Accept":["*/*"],"Connection":["Upgrade"],"Pragma":["no-cache"],"Origin":["https://unraid.sapling.xxxx.dev"],"Dnt":["1"],"Cache-Control":["no-cache"],"Sec-WebSocket-Protocol":["ws+meta.nchan"],"X-Forwarded-Host":["unraid.sapling.xxxx.dev"],"Sec-Gpc":["1"],"Sec-Fetch-Dest":["empty"],"Sec-Fetch-Site":["same-origin"],"Sec-WebSocket-Version":["13"],"Sec-WebSocket-Extensions":["permessage-deflate"],"Sec-WebSocket-Key":["nzwSq5jmR56fnOih593PAg=="],"Accept-Language":["en-US,en;q=0.5"],"X-Forwarded-Proto":["https"],"Via":["1.1 Caddy"],"Cookie":["REDACTED"],"Upgrade":["websocket"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"],"Accept-Encoding":["gzip, deflate, br, zstd"]},"tls":{"resumed":true,"version":772,"cipher_suite":4865,"proto":"http/1.1","server_name":"unraid.sapling.xxxx.dev"}},"duration":253.699506748}
{"level":"debug","ts":1748346617.304105,"logger":"http.handlers.reverse_proxy","msg":"connection closed","upstream":"192.168.10.10:80","duration":6.55945758,"request":{"remote_ip":"192.168.20.222","remote_port":"59838","client_ip":"192.168.20.222","proto":"HTTP/1.1","method":"GET","host":"unraid.sapling.xxxx.dev","uri":"/sub/paritymonitor","headers":{"X-Forwarded-For":["192.168.20.222"],"Sec-WebSocket-Key":["IQ7x1ac5jA79ZoiwQ6xvPg=="],"Via":["1.1 Caddy"],"Accept-Encoding":["gzip, deflate, br, zstd"],"Dnt":["1"],"Connection":["Upgrade"],"Accept-Language":["en-US,en;q=0.5"],"Pragma":["no-cache"],"Sec-WebSocket-Extensions":["permessage-deflate"],"X-Forwarded-Proto":["https"],"X-Forwarded-Host":["unraid.sapling.xxxx.dev"],"Cookie":["REDACTED"],"Cache-Control":["no-cache"],"Sec-Gpc":["1"],"Sec-WebSocket-Protocol":["ws+meta.nchan"],"Accept":["*/*"],"Sec-Fetch-Mode":["websocket"],"Origin":["https://unraid.sapling.xxxx.dev"],"Sec-Fetch-Dest":["empty"],"Sec-Fetch-Site":["same-origin"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"],"Upgrade":["websocket"],"Sec-WebSocket-Version":["13"]},"tls":{"resumed":true,"version":772,"cipher_suite":4865,"proto":"http/1.1","server_name":"unraid.sapling.xxxx.dev"}},"duration":233.923609967}
{"level":"debug","ts":1748346617.3701634,"logger":"http.handlers.reverse_proxy","msg":"selected upstream","dial":"192.168.10.10:80","total_upstreams":1}
{"level":"debug","ts":1748346622.369317,"logger":"http.handlers.reverse_proxy","msg":"selected upstream","dial":"192.168.10.10:80","total_upstreams":1}
{"level":"debug","ts":1748346623.9916844,"logger":"http.handlers.reverse_proxy","msg":"upstream roundtrip","upstream":"192.168.10.10:80","duration":6.62147365,"request":{"remote_ip":"192.168.20.222","remote_port":"53279","client_ip":"192.168.20.222","proto":"HTTP/3.0","method":"GET","host":"unraid.sapling.xxxx.dev","uri":"/Docker","headers":{"Early-Data":["1"],"X-Forwarded-Host":["unraid.sapling.xxxx.dev"],"Via":["3.0 Caddy"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"],"Alt-Used":["unraid.sapling.xxxx.dev"],"Accept-Encoding":["gzip, deflate, br, zstd"],"Cookie":["REDACTED"],"Sec-Fetch-Site":["same-origin"],"Accept":["text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"],"Sec-Fetch-Mode":["navigate"],"X-Forwarded-For":["192.168.20.222"],"Dnt":["1"],"Sec-Fetch-User":["?1"],"Sec-Fetch-Dest":["document"],"X-Forwarded-Proto":["https"],"Priority":["u=0, i"],"Sec-Gpc":["1"],"Accept-Language":["en-US,en;q=0.5"],"Upgrade-Insecure-Requests":["1"],"Referer":["https://unraid.sapling.xxxx.dev/Main"]},"tls":{"resumed":true,"version":772,"cipher_suite":4865,"proto":"h3","server_name":"unraid.sapling.xxxx.dev"}},"headers":{"Connection":["keep-alive"],"Expires":["Thu, 19 Nov 1981 08:52:00 GMT"],"Pragma":["no-cache"],"Content-Security-Policy":["frame-ancestors 'self'"],"Date":["Tue, 27 May 2025 11:50:23 GMT"],"Content-Type":["text/html; charset=UTF-8"],"Cache-Control":["no-store, no-cache, must-revalidate"],"Server":["nginx"]},"status":200}
{"level":"debug","ts":1748346624.3981264,"logger":"http.handlers.reverse_proxy","msg":"selected upstream","dial":"192.168.10.10:80","total_upstreams":1}
{"level":"debug","ts":1748346624.399055,"logger":"http.handlers.reverse_proxy","msg":"upstream roundtrip","upstream":"192.168.10.10:80","duration":0.000892218,"request":{"remote_ip":"192.168.20.222","remote_port":"53279","client_ip":"192.168.20.222","proto":"HTTP/3.0","method":"GET","host":"unraid.sapling.xxxx.dev","uri":"/plugins/dynamix.docker.manager/sheets/DockerContainers.css?v=1743618058","headers":{"X-Forwarded-Proto":["https"],"X-Forwarded-Host":["unraid.sapling.xxxx.dev"],"Via":["3.0 Caddy"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"],"Accept":["text/css,*/*;q=0.1"],"Accept-Encoding":["gzip, deflate, br, zstd"],"Dnt":["1"],"Priority":["u=2"],"Accept-Language":["en-US,en;q=0.5"],"Referer":["https://unraid.sapling.xxxx.dev/Docker"],"Cookie":["REDACTED"],"Sec-Fetch-Site":["same-origin"],"Sec-Gpc":["1"],"X-Forwarded-For":["192.168.20.222"],"Alt-Used":["unraid.sapling.xxxx.dev"],"Sec-Fetch-Mode":["no-cors"],"Sec-Fetch-Dest":["style"]},"tls":{"resumed":true,"version":772,"cipher_suite":4865,"proto":"h3","server_name":"unraid.sapling.xxxx.dev"}},"headers":{"Accept-Ranges":["bytes"],"Content-Type":["text/css"],"Etag":["\"67ed800a-262\""],"Expires":["Thu, 31 Dec 2037 23:55:55 GMT"],"Content-Security-Policy":["frame-ancestors 'self'"],"Server":["nginx"],"Date":["Tue, 27 May 2025 11:50:24 GMT"],"Content-Length":["610"],"Last-Modified":["Wed, 02 Apr 2025 18:20:58 GMT"],"Connection":["keep-alive"],"Cache-Control":["max-age=315360000"]},"status":200}
{"level":"debug","ts":1748346624.4023468,"logger":"http.handlers.reverse_proxy","msg":"selected upstream","dial":"192.168.10.10:80","total_upstreams":1}
{"level":"debug","ts":1748346624.4023838,"logger":"http.handlers.reverse_proxy","msg":"selected upstream","dial":"192.168.10.10:80","total_upstreams":1}
{"level":"debug","ts":1748346624.4024296,"logger":"http.handlers.reverse_proxy","msg":"selected upstream","dial":"192.168.10.10:80","total_upstreams":1}
{"level":"debug","ts":1748346624.4029827,"logger":"http.handlers.reverse_proxy","msg":"upstream roundtrip","upstream":"192.168.10.10:80","duration":0.000609406,"request":{"remote_ip":"192.168.20.222","remote_port":"53279","client_ip":"192.168.20.222","proto":"HTTP/3.0","method":"GET","host":"unraid.sapling.xxxx.dev","uri":"/plugins/dynamix.docker.manager/javascript/docker.js?v=1742542459","headers":{"X-Forwarded-Host":["unraid.sapling.xxxx.dev"],"Via":["3.0 Caddy"],"Dnt":["1"],"Sec-Gpc":["1"],"Sec-Fetch-Site":["same-origin"],"Sec-Fetch-Dest":["script"],"Accept":["*/*"],"Alt-Used":["unraid.sapling.xxxx.dev"],"Sec-Fetch-Mode":["no-cors"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"],"Cookie":["REDACTED"],"Accept-Encoding":["gzip, deflate, br, zstd"],"Accept-Language":["en-US,en;q=0.5"],"Referer":["https://unraid.sapling.xxxx.dev/Docker"],"X-Forwarded-For":["192.168.20.222"],"X-Forwarded-Proto":["https"]},"tls":{"resumed":true,"version":772,"cipher_suite":4865,"proto":"h3","server_name":"unraid.sapling.xxxx.dev"}},"headers":{"Server":["nginx"],"Content-Type":["application/javascript"],"Content-Length":["9601"],"Etag":["\"67dd167b-2581\""],"Expires":["Thu, 31 Dec 2037 23:55:55 GMT"],"Cache-Control":["max-age=315360000"],"Accept-Ranges":["bytes"],"Date":["Tue, 27 May 2025 11:50:24 GMT"],"Last-Modified":["Fri, 21 Mar 2025 07:34:19 GMT"],"Connection":["keep-alive"],"Content-Security-Policy":["frame-ancestors 'self'"]},"status":200}
{"level":"debug","ts":1748346628.948342,"logger":"http.handlers.reverse_proxy","msg":"upstream roundtrip","upstream":"192.168.10.10:80","duration":6.578920571,"request":{"remote_ip":"192.168.20.222","remote_port":"59874","client_ip":"192.168.20.222","proto":"HTTP/1.1","method":"GET","host":"unraid.sapling.xxxx.dev","uri":"/sub/devices?last_event_id=1748346616%3A0","headers":{"Accept-Language":["en-US,en;q=0.5"],"Accept":["*/*"],"Dnt":["1"],"Sec-WebSocket-Extensions":["permessage-deflate"],"X-Forwarded-For":["192.168.20.222"],"Via":["1.1 Caddy"],"Sec-Fetch-Site":["same-origin"],"Cookie":["REDACTED"],"Cache-Control":["no-cache"],"Accept-Encoding":["gzip, deflate, br, zstd"],"Origin":["https://unraid.sapling.xxxx.dev"],"X-Forwarded-Proto":["https"],"X-Forwarded-Host":["unraid.sapling.xxxx.dev"],"Sec-Fetch-Mode":["websocket"],"Pragma":["no-cache"],"Sec-Fetch-Dest":["empty"],"Sec-WebSocket-Protocol":["ws+meta.nchan"],"Sec-WebSocket-Version":["13"],"Sec-WebSocket-Key":["r/oVmdXKwq9i8E1acniyCQ=="],"Sec-Gpc":["1"],"Connection":["Upgrade"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"],"Upgrade":["websocket"]},"tls":{"resumed":true,"version":772,"cipher_suite":4865,"proto":"http/1.1","server_name":"unraid.sapling.xxxx.dev"}},"headers":{"Server":["nginx"],"Sec-Websocket-Extensions":["permessage-deflate"],"Access-Control-Allow-Credentials":["true"],"Access-Control-Allow-Origin":["https://unraid.sapling.xxxx.dev"],"Date":["Tue, 27 May 2025 11:50:28 GMT"],"Content-Length":["0"],"Connection":["upgrade"],"Sec-Websocket-Protocol":["ws+meta.nchan"],"Sec-Websocket-Accept":["Hz6XZpAXy6uoS/1w/p/nv4f5dcw="],"Upgrade":["websocket"]},"status":101}
{"level":"debug","ts":1748346628.9483984,"logger":"http.handlers.reverse_proxy","msg":"upgrading connection","upstream":"192.168.10.10:80","duration":6.578920571,"request":{"remote_ip":"192.168.20.222","remote_port":"59874","client_ip":"192.168.20.222","proto":"HTTP/1.1","method":"GET","host":"unraid.sapling.xxxx.dev","uri":"/sub/devices?last_event_id=1748346616%3A0","headers":{"Accept-Language":["en-US,en;q=0.5"],"Accept":["*/*"],"Dnt":["1"],"Sec-WebSocket-Extensions":["permessage-deflate"],"X-Forwarded-For":["192.168.20.222"],"Via":["1.1 Caddy"],"Sec-Fetch-Site":["same-origin"],"Cookie":["REDACTED"],"Cache-Control":["no-cache"],"Accept-Encoding":["gzip, deflate, br, zstd"],"Origin":["https://unraid.sapling.xxxx.dev"],"X-Forwarded-Proto":["https"],"X-Forwarded-Host":["unraid.sapling.xxxx.dev"],"Sec-Fetch-Mode":["websocket"],"Pragma":["no-cache"],"Sec-Fetch-Dest":["empty"],"Sec-WebSocket-Protocol":["ws+meta.nchan"],"Sec-WebSocket-Version":["13"],"Sec-WebSocket-Key":["r/oVmdXKwq9i8E1acniyCQ=="],"Sec-Gpc":["1"],"Connection":["Upgrade"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"],"Upgrade":["websocket"]},"tls":{"resumed":true,"version":772,"cipher_suite":4865,"proto":"http/1.1","server_name":"unraid.sapling.xxxx.dev"}},"http_version":1}
{"level":"debug","ts":1748346629.0895789,"logger":"http.handlers.reverse_proxy","msg":"streaming error","upstream":"192.168.10.10:80","duration":6.578920571,"request":{"remote_ip":"192.168.20.222","remote_port":"59874","client_ip":"192.168.20.222","proto":"HTTP/1.1","method":"GET","host":"unraid.sapling.xxxx.dev","uri":"/sub/devices?last_event_id=1748346616%3A0","headers":{"Accept-Language":["en-US,en;q=0.5"],"Accept":["*/*"],"Dnt":["1"],"Sec-WebSocket-Extensions":["permessage-deflate"],"X-Forwarded-For":["192.168.20.222"],"Via":["1.1 Caddy"],"Sec-Fetch-Site":["same-origin"],"Cookie":["REDACTED"],"Cache-Control":["no-cache"],"Accept-Encoding":["gzip, deflate, br, zstd"],"Origin":["https://unraid.sapling.xxxx.dev"],"X-Forwarded-Proto":["https"],"X-Forwarded-Host":["unraid.sapling.xxxx.dev"],"Sec-Fetch-Mode":["websocket"],"Pragma":["no-cache"],"Sec-Fetch-Dest":["empty"],"Sec-WebSocket-Protocol":["ws+meta.nchan"],"Sec-WebSocket-Version":["13"],"Sec-WebSocket-Key":["r/oVmdXKwq9i8E1acniyCQ=="],"Sec-Gpc":["1"],"Connection":["Upgrade"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"],"Upgrade":["websocket"]},"tls":{"resumed":true,"version":772,"cipher_suite":4865,"proto":"http/1.1","server_name":"unraid.sapling.xxxx.dev"}}}
{"level":"debug","ts":1748346629.0896533,"logger":"http.handlers.reverse_proxy","msg":"connection closed","upstream":"192.168.10.10:80","duration":6.578920571,"request":{"remote_ip":"192.168.20.222","remote_port":"59874","client_ip":"192.168.20.222","proto":"HTTP/1.1","method":"GET","host":"unraid.sapling.xxxx.dev","uri":"/sub/devices?last_event_id=1748346616%3A0","headers":{"Accept-Language":["en-US,en;q=0.5"],"Accept":["*/*"],"Dnt":["1"],"Sec-WebSocket-Extensions":["permessage-deflate"],"X-Forwarded-For":["192.168.20.222"],"Via":["1.1 Caddy"],"Sec-Fetch-Site":["same-origin"],"Cookie":["REDACTED"],"Cache-Control":["no-cache"],"Accept-Encoding":["gzip, deflate, br, zstd"],"Origin":["https://unraid.sapling.xxxx.dev"],"X-Forwarded-Proto":["https"],"X-Forwarded-Host":["unraid.sapling.xxxx.dev"],"Sec-Fetch-Mode":["websocket"],"Pragma":["no-cache"],"Sec-Fetch-Dest":["empty"],"Sec-WebSocket-Protocol":["ws+meta.nchan"],"Sec-WebSocket-Version":["13"],"Sec-WebSocket-Key":["r/oVmdXKwq9i8E1acniyCQ=="],"Sec-Gpc":["1"],"Connection":["Upgrade"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"],"Upgrade":["websocket"]},"tls":{"resumed":true,"version":772,"cipher_suite":4865,"proto":"http/1.1","server_name":"unraid.sapling.xxxx.dev"}},"duration":0.141117501}
{"level":"debug","ts":1748346630.9962957,"logger":"http.handlers.reverse_proxy","msg":"upstream roundtrip","upstream":"192.168.10.10:80","duration":6.593874295,"request":{"remote_ip":"192.168.20.222","remote_port":"53279","client_ip":"192.168.20.222","proto":"HTTP/3.0","method":"GET","host":"unraid.sapling.xxxx.dev","uri":"/webGui/javascript/jquery.switchbutton.js?v=1700089733","headers":{"Via":["3.0 Caddy"],"Referer":["https://unraid.sapling.xxxx.dev/Docker"],"Accept-Language":["en-US,en;q=0.5"],"Accept-Encoding":["gzip, deflate, br, zstd"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"],"Sec-Fetch-Site":["same-origin"],"X-Forwarded-For":["192.168.20.222"],"X-Forwarded-Host":["unraid.sapling.xxxx.dev"],"Accept":["*/*"],"Alt-Used":["unraid.sapling.xxxx.dev"],"Sec-Gpc":["1"],"Dnt":["1"],"Cookie":["REDACTED"],"Sec-Fetch-Dest":["script"],"Sec-Fetch-Mode":["no-cors"],"X-Forwarded-Proto":["https"]},"tls":{"resumed":true,"version":772,"cipher_suite":4865,"proto":"h3","server_name":"unraid.sapling.xxxx.dev"}},"headers":{"Expires":["Thu, 31 Dec 2037 23:55:55 GMT"],"Accept-Ranges":["bytes"],"Date":["Tue, 27 May 2025 11:50:30 GMT"],"Content-Length":["4259"],"Connection":["keep-alive"],"Cache-Control":["max-age=315360000"],"Content-Security-Policy":["frame-ancestors 'self'"],"Server":["nginx"],"Content-Type":["application/javascript"],"Last-Modified":["Wed, 15 Nov 2023 23:08:53 GMT"],"Etag":["\"65554f85-10a3\""]},"status":200}
{"level":"debug","ts":1748346630.9964972,"logger":"http.handlers.reverse_proxy","msg":"upstream roundtrip","upstream":"192.168.10.10:80","duration":6.594031436,"request":{"remote_ip":"192.168.20.222","remote_port":"53279","client_ip":"192.168.20.222","proto":"HTTP/3.0","method":"GET","host":"unraid.sapling.xxxx.dev","uri":"/webGui/styles/jquery.switchbutton.css?v=1700089733","headers":{"Sec-Fetch-Mode":["no-cors"],"Accept-Language":["en-US,en;q=0.5"],"Alt-Used":["unraid.sapling.xxxx.dev"],"Sec-Fetch-Site":["same-origin"],"X-Forwarded-For":["192.168.20.222"],"Priority":["u=2"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"],"Accept-Encoding":["gzip, deflate, br, zstd"],"X-Forwarded-Proto":["https"],"X-Forwarded-Host":["unraid.sapling.xxxx.dev"],"Sec-Gpc":["1"],"Referer":["https://unraid.sapling.xxxx.dev/Docker"],"Dnt":["1"],"Cookie":["REDACTED"],"Accept":["text/css,*/*;q=0.1"],"Sec-Fetch-Dest":["style"],"Via":["3.0 Caddy"]},"tls":{"resumed":true,"version":772,"cipher_suite":4865,"proto":"h3","server_name":"unraid.sapling.xxxx.dev"}},"headers":{"Cache-Control":["max-age=315360000"],"Content-Security-Policy":["frame-ancestors 'self'"],"Accept-Ranges":["bytes"],"Server":["nginx"],"Date":["Tue, 27 May 2025 11:50:30 GMT"],"Last-Modified":["Wed, 15 Nov 2023 23:08:53 GMT"],"Etag":["\"65554f85-1e2\""],"Content-Type":["text/css"],"Content-Length":["482"],"Connection":["keep-alive"],"Expires":["Thu, 31 Dec 2037 23:55:55 GMT"]},"status":200}
{"level":"debug","ts":1748346631.0287626,"logger":"http.handlers.reverse_proxy","msg":"selected upstream","dial":"192.168.10.10:80","total_upstreams":1}
{"level":"debug","ts":1748346631.0484457,"logger":"http.handlers.reverse_proxy","msg":"upstream roundtrip","upstream":"192.168.10.10:80","duration":0.019631603,"request":{"remote_ip":"192.168.20.222","remote_port":"53279","client_ip":"192.168.20.222","proto":"HTTP/3.0","method":"POST","host":"unraid.sapling.xxxx.dev","uri":"/webGui/include/Notify.php","headers":{"Referer":["https://unraid.sapling.xxxx.dev/Docker"],"Cookie":["REDACTED"],"Alt-Used":["unraid.sapling.xxxx.dev"],"Content-Length":["64"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"],"Accept-Language":["en-US,en;q=0.5"],"Accept-Encoding":["gzip, deflate, br, zstd"],"X-Forwarded-For":["192.168.20.222"],"Dnt":["1"],"Sec-Fetch-Mode":["cors"],"X-Requested-With":["XMLHttpRequest"],"X-Forwarded-Proto":["https"],"Via":["3.0 Caddy"],"Origin":["https://unraid.sapling.xxxx.dev"],"Sec-Gpc":["1"],"Sec-Fetch-Dest":["empty"],"Accept":["*/*"],"Content-Type":["application/x-www-form-urlencoded; charset=UTF-8"],"X-Forwarded-Host":["unraid.sapling.xxxx.dev"],"Sec-Fetch-Site":["same-origin"]},"tls":{"resumed":true,"version":772,"cipher_suite":4865,"proto":"h3","server_name":"unraid.sapling.xxxx.dev"}},"headers":{"Connection":["keep-alive"],"Content-Security-Policy":["frame-ancestors 'self'"],"Server":["nginx"],"Date":["Tue, 27 May 2025 11:50:31 GMT"],"Content-Type":["text/html; charset=UTF-8"]},"status":200}
{"level":"debug","ts":1748346631.0523074,"logger":"http.handlers.reverse_proxy","msg":"selected upstream","dial":"192.168.10.10:80","total_upstreams":1}
{"level":"debug","ts":1748346631.0523484,"logger":"http.handlers.reverse_proxy","msg":"selected upstream","dial":"192.168.10.10:80","total_upstreams":1}
{"level":"debug","ts":1748346631.0523074,"logger":"http.handlers.reverse_proxy","msg":"selected upstream","dial":"192.168.10.10:80","total_upstreams":1}
{"level":"debug","ts":1748346631.0566742,"logger":"http.handlers.reverse_proxy","msg":"upstream roundtrip","upstream":"192.168.10.10:80","duration":0.004234995,"request":{"remote_ip":"192.168.20.222","remote_port":"53279","client_ip":"192.168.20.222","proto":"HTTP/3.0","method":"POST","host":"unraid.sapling.xxxx.dev","uri":"/webGui/include/Report.php","headers":{"X-Forwarded-For":["192.168.20.222"],"X-Forwarded-Proto":["https"],"Via":["3.0 Caddy"],"Accept":["*/*"],"Accept-Encoding":["gzip, deflate, br, zstd"],"Cookie":["REDACTED"],"Sec-Fetch-Dest":["empty"],"Referer":["https://unraid.sapling.xxxx.dev/Docker"],"Dnt":["1"],"Alt-Used":["unraid.sapling.xxxx.dev"],"Accept-Language":["en-US,en;q=0.5"],"Sec-Fetch-Mode":["cors"],"Content-Type":["application/x-www-form-urlencoded; charset=UTF-8"],"X-Requested-With":["XMLHttpRequest"],"Origin":["https://unraid.sapling.xxxx.dev"],"X-Forwarded-Host":["unraid.sapling.xxxx.dev"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"],"Content-Length":["38"],"Sec-Fetch-Site":["same-origin"],"Sec-Gpc":["1"]},"tls":{"resumed":true,"version":772,"cipher_suite":4865,"proto":"h3","server_name":"unraid.sapling.xxxx.dev"}},"headers":{"Connection":["keep-alive"],"Content-Security-Policy":["frame-ancestors 'self'"],"Server":["nginx"],"Date":["Tue, 27 May 2025 11:50:31 GMT"],"Content-Type":["text/html; charset=UTF-8"]},"status":200}
{"level":"debug","ts":1748346631.0595691,"logger":"http.handlers.reverse_proxy","msg":"selected upstream","dial":"192.168.10.10:80","total_upstreams":1}
{"level":"debug","ts":1748346631.0600262,"logger":"http.handlers.reverse_proxy","msg":"upstream roundtrip","upstream":"192.168.10.10:80","duration":0.007638175,"request":{"remote_ip":"192.168.20.222","remote_port":"53279","client_ip":"192.168.20.222","proto":"HTTP/3.0","method":"POST","host":"unraid.sapling.xxxx.dev","uri":"/plugins/dynamix.gui.search/include/exec.php","headers":{"Via":["3.0 Caddy"],"X-Requested-With":["XMLHttpRequest"],"Sec-Gpc":["1"],"Referer":["https://unraid.sapling.xxxx.dev/Docker"],"Sec-Fetch-Dest":["empty"],"X-Forwarded-Host":["unraid.sapling.xxxx.dev"],"Cookie":["REDACTED"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"],"Origin":["https://unraid.sapling.xxxx.dev"],"Alt-Used":["unraid.sapling.xxxx.dev"],"Dnt":["1"],"X-Forwarded-For":["192.168.20.222"],"X-Forwarded-Proto":["https"],"Accept":["*/*"],"Sec-Fetch-Site":["same-origin"],"Accept-Encoding":["gzip, deflate, br, zstd"],"Sec-Fetch-Mode":["cors"],"Content-Type":["application/x-www-form-urlencoded; charset=UTF-8"],"Content-Length":["27"],"Accept-Language":["en-US,en;q=0.5"]},"tls":{"resumed":true,"version":772,"cipher_suite":4865,"proto":"h3","server_name":"unraid.sapling.xxxx.dev"}},"headers":{"Server":["nginx"],"Content-Type":["text/html; charset=UTF-8"],"Connection":["keep-alive"],"Expires":["Thu, 19 Nov 1981 08:52:00 GMT"],"Cache-Control":["no-store, no-cache, must-revalidate"],"Pragma":["no-cache"],"Content-Security-Policy":["frame-ancestors 'self'"],"Date":["Tue, 27 May 2025 11:50:31 GMT"]},"status":200}
{"level":"debug","ts":1748346631.0737753,"logger":"http.handlers.reverse_proxy","msg":"selected upstream","dial":"192.168.10.10:80","total_upstreams":1}
{"level":"debug","ts":1748346631.0857959,"logger":"http.handlers.reverse_proxy","msg":"upstream roundtrip","upstream":"192.168.10.10:80","duration":0.033420822,"request":{"remote_ip":"192.168.20.222","remote_port":"53279","client_ip":"192.168.20.222","proto":"HTTP/3.0","method":"POST","host":"unraid.sapling.xxxx.dev","uri":"/plugins/community.applications/scripts/notices.php","headers":{"X-Forwarded-For":["192.168.20.222"],"X-Forwarded-Host":["unraid.sapling.xxxx.dev"],"Accept-Language":["en-US,en;q=0.5"],"Dnt":["1"],"Alt-Used":["unraid.sapling.xxxx.dev"],"Content-Length":["39"],"Accept":["*/*"],"Origin":["https://unraid.sapling.xxxx.dev"],"Cookie":["REDACTED"],"Sec-Fetch-Mode":["cors"],"Sec-Fetch-Site":["same-origin"],"X-Requested-With":["XMLHttpRequest"],"Accept-Encoding":["gzip, deflate, br, zstd"],"Content-Type":["application/x-www-form-urlencoded; charset=UTF-8"],"Sec-Gpc":["1"],"X-Forwarded-Proto":["https"],"Via":["3.0 Caddy"],"Sec-Fetch-Dest":["empty"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"],"Referer":["https://unraid.sapling.xxxx.dev/Docker"]},"tls":{"resumed":true,"version":772,"cipher_suite":4865,"proto":"h3","server_name":"unraid.sapling.xxxx.dev"}},"headers":{"Content-Type":["text/html; charset=UTF-8"],"Connection":["keep-alive"],"Content-Security-Policy":["frame-ancestors 'self'"],"Server":["nginx"],"Date":["Tue, 27 May 2025 11:50:31 GMT"]},"status":200}
{"level":"debug","ts":1748346631.1293952,"logger":"http.handlers.reverse_proxy","msg":"upstream roundtrip","upstream":"192.168.10.10:80","duration":0.069768464,"request":{"remote_ip":"192.168.20.222","remote_port":"53279","client_ip":"192.168.20.222","proto":"HTTP/3.0","method":"GET","host":"unraid.sapling.xxxx.dev","uri":"/plugins/dynamix.docker.manager/include/DockerContainers.php","headers":{"Accept-Language":["en-US,en;q=0.5"],"X-Requested-With":["XMLHttpRequest"],"Referer":["https://unraid.sapling.xxxx.dev/Docker"],"Sec-Gpc":["1"],"Sec-Fetch-Mode":["cors"],"X-Forwarded-For":["192.168.20.222"],"Accept":["*/*"],"Cookie":["REDACTED"],"Sec-Fetch-Dest":["empty"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"],"Dnt":["1"],"Sec-Fetch-Site":["same-origin"],"Alt-Used":["unraid.sapling.xxxx.dev"],"X-Forwarded-Proto":["https"],"X-Forwarded-Host":["unraid.sapling.xxxx.dev"],"Via":["3.0 Caddy"],"Accept-Encoding":["gzip, deflate, br, zstd"]},"tls":{"resumed":true,"version":772,"cipher_suite":4865,"proto":"h3","server_name":"unraid.sapling.xxxx.dev"}},"headers":{"Content-Security-Policy":["frame-ancestors 'self'"],"Content-Type":["text/html; charset=UTF-8"],"Connection":["keep-alive"],"Cache-Control":["no-store, no-cache, must-revalidate"],"Pragma":["no-cache"],"Server":["nginx"],"Date":["Tue, 27 May 2025 11:50:31 GMT"],"Expires":["Thu, 19 Nov 1981 08:52:00 GMT"]},"status":200}
{"level":"debug","ts":1748346631.210968,"logger":"http.handlers.reverse_proxy","msg":"selected upstream","dial":"192.168.10.10:80","total_upstreams":1}
{"level":"debug","ts":1748346631.2119365,"logger":"http.handlers.reverse_proxy","msg":"upstream roundtrip","upstream":"192.168.10.10:80","duration":0.000929192,"request":{"remote_ip":"192.168.20.222","remote_port":"53279","client_ip":"192.168.20.222","proto":"HTTP/3.0","method":"GET","host":"unraid.sapling.xxxx.dev","uri":"/state/plugins/dynamix.docker.manager/images/backrest-icon.png?1748335955","headers":{"Sec-Gpc":["1"],"X-Forwarded-For":["192.168.20.222"],"X-Forwarded-Host":["unraid.sapling.xxxx.dev"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"],"Priority":["u=5, i"],"Via":["3.0 Caddy"],"Accept":["image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5"],"Cookie":["REDACTED"],"Sec-Fetch-Mode":["no-cors"],"Accept-Language":["en-US,en;q=0.5"],"Referer":["https://unraid.sapling.xxxx.dev/Docker"],"Dnt":["1"],"Sec-Fetch-Site":["same-origin"],"Alt-Used":["unraid.sapling.xxxx.dev"],"X-Forwarded-Proto":["https"],"Accept-Encoding":["gzip, deflate, br, zstd"],"Sec-Fetch-Dest":["image"]},"tls":{"resumed":true,"version":772,"cipher_suite":4865,"proto":"h3","server_name":"unraid.sapling.xxxx.dev"}},"headers":{"Server":["nginx"],"Date":["Tue, 27 May 2025 11:50:31 GMT"],"Content-Length":["8527"],"Connection":["keep-alive"],"Content-Security-Policy":["frame-ancestors 'self'"],"Content-Type":["image/png"],"Last-Modified":["Tue, 27 May 2025 08:52:35 GMT"],"Etag":["\"68357d53-214f\""],"Accept-Ranges":["bytes"]},"status":200}
{"level":"debug","ts":1748346631.2121623,"logger":"http.handlers.reverse_proxy","msg":"selected upstream","dial":"192.168.10.10:80","total_upstreams":1}
{"level":"debug","ts":1748346631.212201,"logger":"http.handlers.reverse_proxy","msg":"selected upstream","dial":"192.168.10.10:80","total_upstreams":1}
{"level":"debug","ts":1748346631.212844,"logger":"http.handlers.reverse_proxy","msg":"upstream roundtrip","upstream":"192.168.10.10:80","duration":0.000654187,"request":{"remote_ip":"192.168.20.222","remote_port":"53279","client_ip":"192.168.20.222","proto":"HTTP/3.0","method":"GET","host":"unraid.sapling.xxxx.dev","uri":"/state/plugins/dynamix.docker.manager/images/Caddy-icon.png?1748316034","headers":{"Accept":["image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5"],"Accept-Encoding":["gzip, deflate, br, zstd"],"Via":["3.0 Caddy"],"Priority":["u=5, i"],"Sec-Fetch-Site":["same-origin"],"Sec-Gpc":["1"],"X-Forwarded-For":["192.168.20.222"],"Referer":["https://unraid.sapling.xxxx.dev/Docker"],"Accept-Language":["en-US,en;q=0.5"],"Sec-Fetch-Mode":["no-cors"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"],"Alt-Used":["unraid.sapling.xxxx.dev"],"X-Forwarded-Host":["unraid.sapling.xxxx.dev"],"Dnt":["1"],"Cookie":["REDACTED"],"Sec-Fetch-Dest":["image"],"X-Forwarded-Proto":["https"]},"tls":{"resumed":true,"version":772,"cipher_suite":4865,"proto":"h3","server_name":"unraid.sapling.xxxx.dev"}},"headers":{"Accept-Ranges":["bytes"],"Date":["Tue, 27 May 2025 11:50:31 GMT"],"Content-Type":["image/png"],"Last-Modified":["Tue, 27 May 2025 03:20:34 GMT"],"Content-Security-Policy":["frame-ancestors 'self'"],"Server":["nginx"],"Content-Length":["12675"],"Connection":["keep-alive"],"Etag":["\"68352f82-3183\""]},"status":200}
{"level":"debug","ts":1748346631.2129223,"logger":"http.handlers.reverse_proxy","msg":"upstream roundtrip","upstream":"192.168.10.10:80","duration":0.000688067,"request":{"remote_ip":"192.168.20.222","remote_port":"53279","client_ip":"192.168.20.222","proto":"HTTP/3.0","method":"GET","host":"unraid.sapling.xxxx.dev","uri":"/state/plugins/dynamix.docker.manager/images/homeassistant-icon.png?1748316034","headers":{"Cookie":["REDACTED"],"X-Forwarded-For":["192.168.20.222"],"Referer":["https://unraid.sapling.xxxx.dev/Docker"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"],"Accept-Encoding":["gzip, deflate, br, zstd"],"Sec-Gpc":["1"],"Dnt":["1"],"Sec-Fetch-Dest":["image"],"Sec-Fetch-Mode":["no-cors"],"Priority":["u=5, i"],"Accept":["image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5"],"Accept-Language":["en-US,en;q=0.5"],"X-Forwarded-Proto":["https"],"X-Forwarded-Host":["unraid.sapling.xxxx.dev"],"Sec-Fetch-Site":["same-origin"],"Via":["3.0 Caddy"],"Alt-Used":["unraid.sapling.xxxx.dev"]},"tls":{"resumed":true,"version":772,"cipher_suite":4865,"proto":"h3","server_name":"unraid.sapling.xxxx.dev"}},"headers":{"Server":["nginx"],"Content-Length":["4905"],"Last-Modified":["Tue, 27 May 2025 03:20:34 GMT"],"Connection":["keep-alive"],"Etag":["\"68352f82-1329\""],"Accept-Ranges":["bytes"],"Date":["Tue, 27 May 2025 11:50:31 GMT"],"Content-Type":["image/png"],"Content-Security-Policy":["frame-ancestors 'self'"]},"status":200}
{"level":"debug","ts":1748346631.2132757,"logger":"http.handlers.reverse_proxy","msg":"selected upstream","dial":"192.168.10.10:80","total_upstreams":1}
{"level":"debug","ts":1748346631.213398,"logger":"http.handlers.reverse_proxy","msg":"selected upstream","dial":"192.168.10.10:80","total_upstreams":1}
{"level":"debug","ts":1748346631.2134778,"logger":"http.handlers.reverse_proxy","msg":"selected upstream","dial":"192.168.10.10:80","total_upstreams":1}
{"level":"debug","ts":1748346631.213585,"logger":"http.handlers.reverse_proxy","msg":"selected upstream","dial":"192.168.10.10:80","total_upstreams":1}
{"level":"debug","ts":1748346631.2139773,"logger":"http.handlers.reverse_proxy","msg":"upstream roundtrip","upstream":"192.168.10.10:80","duration":0.000676885,"request":{"remote_ip":"192.168.20.222","remote_port":"53279","client_ip":"192.168.20.222","proto":"HTTP/3.0","method":"GET","host":"unraid.sapling.xxxx.dev","uri":"/state/plugins/dynamix.docker.manager/images/homepage-icon.png?1748316034","headers":{"Accept-Encoding":["gzip, deflate, br, zstd"],"X-Forwarded-Proto":["https"],"Via":["3.0 Caddy"],"X-Forwarded-For":["192.168.20.222"],"Referer":["https://unraid.sapling.xxxx.dev/Docker"],"Sec-Fetch-Site":["same-origin"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"],"Sec-Fetch-Dest":["image"],"X-Forwarded-Host":["unraid.sapling.xxxx.dev"],"Dnt":["1"],"Priority":["u=5, i"],"Accept":["image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5"],"Alt-Used":["unraid.sapling.xxxx.dev"],"Accept-Language":["en-US,en;q=0.5"],"Cookie":["REDACTED"],"Sec-Gpc":["1"],"Sec-Fetch-Mode":["no-cors"]},"tls":{"resumed":true,"version":772,"cipher_suite":4865,"proto":"h3","server_name":"unraid.sapling.xxxx.dev"}},"headers":{"Server":["nginx"],"Content-Type":["image/png"],"Etag":["\"68352f82-1ba5\""],"Content-Security-Policy":["frame-ancestors 'self'"],"Accept-Ranges":["bytes"],"Date":["Tue, 27 May 2025 11:50:31 GMT"],"Content-Length":["7077"],"Last-Modified":["Tue, 27 May 2025 03:20:34 GMT"],"Connection":["keep-alive"]},"status":200}
{"level":"debug","ts":1748346631.2140536,"logger":"http.handlers.reverse_proxy","msg":"upstream roundtrip","upstream":"192.168.10.10:80","duration":0.000628007,"request":{"remote_ip":"192.168.20.222","remote_port":"53279","client_ip":"192.168.20.222","proto":"HTTP/3.0","method":"GET","host":"unraid.sapling.xxxx.dev","uri":"/state/plugins/dynamix.docker.manager/images/mosquitto-icon.png?1748316034","headers":{"Sec-Gpc":["1"],"Via":["3.0 Caddy"],"X-Forwarded-For":["192.168.20.222"],"Referer":["https://unraid.sapling.xxxx.dev/Docker"],"Alt-Used":["unraid.sapling.xxxx.dev"],"Sec-Fetch-Dest":["image"],"Sec-Fetch-Mode":["no-cors"],"Accept":["image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5"],"Dnt":["1"],"X-Forwarded-Proto":["https"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"],"Accept-Language":["en-US,en;q=0.5"],"X-Forwarded-Host":["unraid.sapling.xxxx.dev"],"Cookie":["REDACTED"],"Priority":["u=5, i"],"Accept-Encoding":["gzip, deflate, br, zstd"],"Sec-Fetch-Site":["same-origin"]},"tls":{"resumed":true,"version":772,"cipher_suite":4865,"proto":"h3","server_name":"unraid.sapling.xxxx.dev"}},"headers":{"Server":["nginx"],"Content-Type":["image/png"],"Content-Length":["7770"],"Last-Modified":["Tue, 27 May 2025 03:20:34 GMT"],"Connection":["keep-alive"],"Content-Security-Policy":["frame-ancestors 'self'"],"Date":["Tue, 27 May 2025 11:50:31 GMT"],"Etag":["\"68352f82-1e5a\""],"Accept-Ranges":["bytes"]},"status":200}
{"level":"debug","ts":1748346631.2141328,"logger":"http.handlers.reverse_proxy","msg":"upstream roundtrip","upstream":"192.168.10.10:80","duration":0.000625165,"request":{"remote_ip":"192.168.20.222","remote_port":"53279","client_ip":"192.168.20.222","proto":"HTTP/3.0","method":"GET","host":"unraid.sapling.xxxx.dev","uri":"/state/plugins/dynamix.docker.manager/images/zigbee2mqtt-icon.png?1748316034","headers":{"Accept-Encoding":["gzip, deflate, br, zstd"],"Cookie":["REDACTED"],"Sec-Fetch-Site":["same-origin"],"Accept-Language":["en-US,en;q=0.5"],"X-Forwarded-Proto":["https"],"X-Forwarded-Host":["unraid.sapling.xxxx.dev"],"Via":["3.0 Caddy"],"Priority":["u=5, i"],"Alt-Used":["unraid.sapling.xxxx.dev"],"Accept":["image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5"],"Sec-Gpc":["1"],"Sec-Fetch-Mode":["no-cors"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"],"Dnt":["1"],"Sec-Fetch-Dest":["image"],"X-Forwarded-For":["192.168.20.222"],"Referer":["https://unraid.sapling.xxxx.dev/Docker"]},"tls":{"resumed":true,"version":772,"cipher_suite":4865,"proto":"h3","server_name":"unraid.sapling.xxxx.dev"}},"headers":{"Date":["Tue, 27 May 2025 11:50:31 GMT"],"Content-Length":["2339"],"Last-Modified":["Tue, 27 May 2025 03:20:34 GMT"],"Connection":["keep-alive"],"Content-Security-Policy":["frame-ancestors 'self'"],"Server":["nginx"],"Content-Type":["image/png"],"Etag":["\"68352f82-923\""],"Accept-Ranges":["bytes"]},"status":200}
{"level":"debug","ts":1748346631.2144196,"logger":"http.handlers.reverse_proxy","msg":"selected upstream","dial":"192.168.10.10:80","total_upstreams":1}
{"level":"debug","ts":1748346631.2150059,"logger":"http.handlers.reverse_proxy","msg":"upstream roundtrip","upstream":"192.168.10.10:80","duration":0.000564666,"request":{"remote_ip":"192.168.20.222","remote_port":"53279","client_ip":"192.168.20.222","proto":"HTTP/3.0","method":"GET","host":"unraid.sapling.xxxx.dev","uri":"/webGui/images/disk.png","headers":{"Alt-Used":["unraid.sapling.xxxx.dev"],"Sec-Gpc":["1"],"X-Forwarded-For":["192.168.20.222"],"Priority":["u=5, i"],"Accept":["image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5"],"Sec-Fetch-Mode":["no-cors"],"Accept-Encoding":["gzip, deflate, br, zstd"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"],"Accept-Language":["en-US,en;q=0.5"],"X-Forwarded-Proto":["https"],"Dnt":["1"],"Referer":["https://unraid.sapling.xxxx.dev/Docker"],"Via":["3.0 Caddy"],"Cookie":["REDACTED"],"Sec-Fetch-Dest":["image"],"Sec-Fetch-Site":["same-origin"],"X-Forwarded-Host":["unraid.sapling.xxxx.dev"]},"tls":{"resumed":true,"version":772,"cipher_suite":4865,"proto":"h3","server_name":"unraid.sapling.xxxx.dev"}},"headers":{"Content-Length":["3126"],"Connection":["keep-alive"],"Etag":["\"65554f85-c36\""],"Content-Security-Policy":["frame-ancestors 'self'"],"Accept-Ranges":["bytes"],"Server":["nginx"],"Date":["Tue, 27 May 2025 11:50:31 GMT"],"Content-Type":["image/png"],"Last-Modified":["Wed, 15 Nov 2023 23:08:53 GMT"]},"status":200}
{"level":"debug","ts":1748346631.226701,"logger":"http.handlers.reverse_proxy","msg":"selected upstream","dial":"192.168.10.10:80","total_upstreams":1}
{"level":"debug","ts":1748346631.2276113,"logger":"http.handlers.reverse_proxy","msg":"upstream roundtrip","upstream":"192.168.10.10:80","duration":0.000867786,"request":{"remote_ip":"192.168.20.222","remote_port":"53279","client_ip":"192.168.20.222","proto":"HTTP/3.0","method":"GET","host":"unraid.sapling.xxxx.dev","uri":"/plugins/dynamix.docker.manager/images/question.png","headers":{"Accept-Encoding":["gzip, deflate, br, zstd"],"Sec-Fetch-Site":["same-origin"],"Alt-Used":["unraid.sapling.xxxx.dev"],"Sec-Fetch-Dest":["image"],"Via":["3.0 Caddy"],"Accept-Language":["en-US,en;q=0.5"],"Sec-Gpc":["1"],"X-Forwarded-Proto":["https"],"X-Forwarded-Host":["unraid.sapling.xxxx.dev"],"Cookie":["REDACTED"],"Referer":["https://unraid.sapling.xxxx.dev/Docker"],"Priority":["u=5, i"],"X-Forwarded-For":["192.168.20.222"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0"],"Dnt":["1"],"Accept":["image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5"],"Sec-Fetch-Mode":["no-cors"]},"tls":{"resumed":true,"version":772,"cipher_suite":4865,"proto":"h3","server_name":"unraid.sapling.xxxx.dev"}},"headers":{"Date":["Tue, 27 May 2025 11:50:31 GMT"],"Content-Length":["14365"],"Last-Modified":["Wed, 15 Nov 2023 23:08:53 GMT"],"Etag":["\"65554f85-381d\""],"Content-Security-Policy":["frame-ancestors 'self'"],"Accept-Ranges":["bytes"],"Server":["nginx"],"Content-Type":["image/png"],"Connection":["keep-alive"]},"status":200}
3. Caddy version:
v2.10.0 h1:fonubSaQKF1YANl8TXqGcn4IbIRUDdfAkpcsfI/vX5U=
4. How I installed and ran Caddy:
Docker container, using my own package built from my Dockerfile that adds the Cloudflare plugin.
a. System environment:
Caddy running in Docker container on Unraid 7.1.2
Unraid server on 192.168.10.0/24 subnet (192.168.10.10)
Docker config on Unraid provides a bridge (br.50) interface on VLAN 50 to Docker containers on the 192.168.50.0/24 subnet. Docker containers use macvlan network type and have a 192.168.50.0/24 IP address, ie. no port forwarding from host.
From the Caddy docker container (192.168.50.50) I can ping the Unraid server IP 192.168.10.10 and I am able to wget (all I have in the container) the index page:
/srv # wget -S 192.168.10.10
Connecting to 192.168.10.10 (192.168.10.10:80)
HTTP/1.1 302 Moved Temporarily
Server: nginx
Date: Tue, 27 May 2025 12:07:33 GMT
Content-Type: text/html
Content-Length: 138
Connection: close
Location: http://192.168.10.10/Main
Connecting to 192.168.10.10 (192.168.10.10:80)
HTTP/1.1 302 Moved Temporarily
Server: nginx
Date: Tue, 27 May 2025 12:07:39 GMT
Content-Type: text/html
Content-Length: 138
Connection: close
Location: http://192.168.10.10/login
Connecting to 192.168.10.10 (192.168.10.10:80)
HTTP/1.1 200 OK
Server: nginx
Date: Tue, 27 May 2025 12:07:46 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
Content-Security-Policy: frame-ancestors 'self'
saving to 'index.html'
index.html 100% |****************************************************************************************************************| 10837 0:00:00 ETA
'index.html' saved
b. Command:
Deployed via Docker container:
c. Service/unit/compose file:
Unraid Docker run output
docker run
-d
--name='Caddy'
--net='br0.50'
--ip='192.168.50.50'
--pids-limit 2048
-e TZ="Australia/Brisbane"
-e HOST_OS="Unraid"
-e HOST_HOSTNAME="UNRAID01"
-e HOST_CONTAINERNAME="Caddy"
-e 'TCP_PORT_443'='443'
-e 'TCP_PORT_80'='80'
-l net.unraid.docker.managed=dockerman
-l net.unraid.docker.webui='http://[IP]:[PORT:8080]'
-l net.unraid.docker.icon='https://caddyserver.com/resources/images/logo-dark.svg'
-v '/mnt/user/appdata/caddy/data':'/data':'rw'
-v '/mnt/user/appdata/caddy/config':'/config':'rw'
-v '/mnt/user/appdata/caddy/Caddyfile':'/etc/caddy/Caddyfile':'rw' 'ghcr.io/ilium007/caddy-cloudflare'
d. My complete Caddy config:
{
debug
email xxxxx@gmail.com
#acme_ca https://acme-staging-v02.api.letsencrypt.org/directory
}
*.sapling.xxxx.dev:443, sapling.xxxx.dev:443 {
tls {
dns cloudflare xxxxxxxxxxxxxxxxxxx
resolvers 1.1.1.1
}
@homepage host homepage.sapling.xxxx.dev
handle @homepage {
reverse_proxy http://homepage:3000
}
@unraid host unraid.sapling.xxxx.dev
handle @unraid {
reverse_proxy http://192.168.10.10
}
@homeassistant host homeassistant.sapling.xxxx.dev
handle @homeassistant {
reverse_proxy http://homeassistant:8123
}
@zigbee2mqtt host zigbee2mqtt.sapling.xxxx.dev
handle @zigbee2mqtt {
reverse_proxy http://zigbee2mqtt:8080
}
@backrest host backrest.sapling.xxxx.dev
handle @backrest {
reverse_proxy http://backrest:9898
}
@nodered host nodered.sapling.xxxx.dev
handle @nodered {
reverse_proxy http://nodered:1880
}
}
5. Links to relevant resources:
N/A