Enabling this causes trusted requests to have the real client IP parsed from HTTP headers (by default,
# DO NOT EDIT THIS FILE -- OPNsense auto-generated file# caddy_user=root# Global Options{ log { output net unixgram//var/run/caddy/log.sock { } format json { time_format rfc3339 } level DEBUG } dynamic_dns { provider cloudflare xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx domains { example.com * example.com nc } } email example@mail.com grace_period 10s import /usr/local/etc/caddy/caddy.d/*.global}# Reverse Proxy Configuration# Reverse Proxy Domain: "a46e07f0-97d6-40ee-a4ba-c219beee103f"*.example.com { tls { issuer acme { dns cloudflare xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx } } @f601ec75-1d72-4165-a41c-34322ad8a17a { host nc.example.com } handle @f601ec75-1d72-4165-a41c-34322ad8a17a { handle { reverse_proxy 10.150.0.10:8666 { header_down +Strict-Transport-Security "max-age=31536000;" } } }}import /usr/local/etc/caddy/caddy.d/*.conf
Server: firewall.home.lanAddress: 10.150.0.1Name: nc.example.comAddress: 10.150.0.1
Did you create the same Firewall rule for WAN also for LAN/other interfaces you use?You shouldn't use Split DNS Zones with Caddy, just use the external IP address from internally and externally. I can see your nextcloud resolves to the internal IP of your OPNsense. (Technically its possible and people do it but it complicates some firewall rules and stuff)https://docs.opnsense.org/manual/how-tos/caddy.html#caddy-troubleshootingIf nothing of these hints work please post some debug logs where caddy logged the error you see happening.